游客已登陆 (0)未知
笔行证 257310
昵称 kuan 
笔贝 Score1
加为好友 发送短信
<< << 2008 八月 >> >>
12
3456789
10111213141516
17181920212223
24252627282930
31

访问计数:19066
本文:363 今天:1 本月 363

本地音乐播放器



 
       任意进制之间的转换
2007-04-12 晴



算法思想:
任意进制->十进制->任意进制

这是在控制台运行的,大家可以把它做成可视化界面的.


//fangyukuan's code 任意进制->十进制->任意进制
#include<iostream.h>
#include<string.h>
int main()
{int i,j,a,b;
long sum=0,k;
char mun[80],res[80];
while(1)
{
cout<<"Hi您好!请您输入一个您要转换的整数或输入n结束"<<endl;
cin>>mun;
if(mun[0]=='n'||mun[0]=='N')break;
cout<<"您刚才输入是几进制?";
cin>>a;//a进制转成b制
if(!a||a==1){cout<<"非法输入"<<endl;break;}
cout<<"您要把它转成几进制?";
cin>>b;
if(!b||b==1){cout<<"非法输入"<<endl;break;}
for(i=0;i<(int)strlen(mun);i++)
{
if(mun>='0'&&mun<='9')
sum=sum*a+mun-'0';
if(mun>='a'&&mun<='f')
sum=sum*a+mun-'a'+10;
if(mun>='A'&&mun<='F')
sum=sum*a+mun-'A'+10;
}
i=0;
if(sum==0)//注意sum=0的情况
cout<<'0'<<endl;
else
{
while(sum)
{
k=sum%b;
if(k<10)
res=k+48;
else
res=k+55;
sum/=b;
i++;
}
cout<<a<<"进制数:"<<mun<<endl;
cout<<b<<"进制数:";
for(j=i-1;j>=0;j--)
cout<<res[j];
cout<<endl<<endl;
}
}
return 9;
}.
# posted by kuan @ 2007-04-12 13:45:03 评论(0)
 






   
 
  kuan  2007-04-24 01:07:13
注意,上面代码,有一些显示不出来.过些天,哥德会把笔客完善一下.到时.所有代码就应该没错了..
 
 
   


 
笔 名:
*
评 论:
最多1000字。当前字数:0
*
联系方式: