欢迎来到天天文库
浏览记录
ID:25474180
大小:67.18 KB
页数:3页
时间:2018-11-20
《进制转换(10进制到n进制和n进制到10进制)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include#include#includeintfunForm10(intnum,intn,charresult[]);//10进制到n进制.返回值是转换结果的位数intfunTo10(charnum[],intlen,intn);//n进制到10进制.num[]是待转换的数字。len是位数。返回值是结果voidmyOutput(charstr[],intlen);intmain(){intselect;intNumber;charresult[50];charnum[50];intlen;w
2、hile(1){printf("请选择以下菜单当中的一项:1、10进制转换为16进制;2、16进制转换为10进制;3、10进制转换为8进制;4、8进制转换为10进制");scanf("%d",&select);printf("请输入你需要转换的那个数字:");switch(select){case1:scanf("%d",&Number);len=funForm10(Number,16,result);printf("转换结果:");myOutput(result,len);break;case2:scanf("%s",num);len=s
3、trlen(num);Number=funTo10(num,len,16);printf("转换结果:%d",Number);break;case3:scanf("%d",&Number);len=funForm10(Number,8,result);printf("转换结果:");myOutput(result,len);break;case4:scanf("%s",num);len=strlen(num);Number=funTo10(num,len,8);printf("转换结果:%d",Number);break;default:pri
4、ntf("InputError!PleaseInputAgain!");}printf("------------------------------");}return0;}intfunForm10(intnum,intn,charresult[])//10进制到n进制.返回值是转换结果的位数{inti=0;intc;do{c=num%n;if(c>9){result[i]=c+'A';}elseresult[i]=c+'0';num=num/n;i++;}while(num!=0);returni;}intfunTo10
5、(charnum[],intlen,intn)//n进制到10进制.num[]是待转换的数字。len是位数。返回值是结果{inti;intresult=0;intnum2[50];for(i=0;i='0'&&num[i]<='9')num2[i]=num[i]-'0';elseif(num[i]>='A'&&num[i]<='Z')num2[i]=num[i]-'A';elsenum2[i]=num[i]-'a';}len--;for(i=0;i6、*n;}returnresult+=num2[i];}voidmyOutput(charstr[],intlen){inti;for(i=len-1;i>=0;i--)printf("%c",str[i]);printf("");}
6、*n;}returnresult+=num2[i];}voidmyOutput(charstr[],intlen){inti;for(i=len-1;i>=0;i--)printf("%c",str[i]);printf("");}
此文档下载收益归作者所有