资源描述:
《进制转换(10进制到n进制和n进制到10进制).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、此文档收集于网络,如有侵权,请联系网站删除#include#include#includeintfunForm10(intnum,intn,charresult[]);//10进制到n进制.返回值是转换结果的位数intfunTo10(charnum[],intlen,intn);//n进制到10进制.num[]是待转换的数字。len是位数。返回值是结果voidmyOutput(charstr[],intlen);intmain(){intsel
2、ect;intNumber;charresult[50];charnum[50];intlen;while(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,r
3、esult);printf("转换结果:");myOutput(result,len);break;case2:scanf("%s",num);len=strlen(num);Number=funTo10(num,len,16);printf("转换结果:%d",Number);break;case3:scanf("%d",&Number);len=funForm10(Number,8,result);printf("转换结果:");myOutput(result,len);break;cas
4、e4:scanf("%s",num);len=strlen(num);Number=funTo10(num,len,8);此文档仅供学习与交流此文档收集于网络,如有侵权,请联系网站删除printf("转换结果:%d",Number);break;default:printf("InputError!PleaseInputAgain!");}printf("------------------------------");}return0;}intfunForm10(
5、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(charnum[],intlen,intn)//n进制到10进制.num[]是待转换的数字。len是位数。返回值是结果{inti;intresult=0;intnum2[5
6、0];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;i7、oidmyOutput(charstr[],intlen){inti;for(i=len-1;i>=0;i--)printf("%c",str[i]);printf("");}此文档仅供学习与交流