数制转换c语言经典题目,C语言经典题目“数制转换”代码.doc

62e50291a81fc54b507f33cb80033297.gif C语言经典题目“数制转换”代码.doc

(2页)

604fe5ad3e2ef700074778b90d70adbb.png

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

14.90 积分

数制转换(选作)这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如 12 和 5 ,在十进制下它们是不等的,但若 12 使用 3 进制而 5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制, 12 和 5 就可以是相等的。 程序的输入是两个数字 M 和 N( 其十进制的值不超过 1000000000) ,它们的进制在 2~36 之间。对于十以下的数字,用 0~9 表示,而十以上的数字,则使用大写的 A~Z 表示。 求出分别在 2~36 哪种进制下 M 和 N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。程序: #includeint main(){ long int pm=0,pn=0,s=0,t=0,w=1,e=1,p=0,q=0; int a[30],b[30]; char m[30],n[30]; int i,j,g,k,max1=0,max2=0,flag=0; scanf("%s%s",m,n); for(i=0;m[i]!='\0';i++) { if(m[i]>='A'&&m[i]='0'&&m[i]<='9') a[i]=m[i]-48; max1=max1=0;k--) { q+=b[k]*e; e=e*j; } if(pq) j++; else { flag=1; printf("%s (base %d) = %s (base %d)\n",m,i,n,j); break; } } if(flag==0) printf("%s is not equal to %s in any base 2..36\n",m,n); return 0;} 关 键 词: c语言 题目 代码 经典 转换

524d6daf746efaa52c3c71bbfe7ba172.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值