A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Reliable 于 2015-4-18 15:10 编辑

题目:编程实现将任意的十进制整数转换成任意R进制数(R2-16之间)有人知道思路嘛?



2 个回复

倒序浏览
  1. //本程序实现偶数进制转换
  2. //奇数进制同样思路
  3. //switch 中添加相关子程序
  4. #include<stdio.h>
  5. void binary(int n)
  6. {
  7. if(n>1)binary(n/2);
  8. printf("%d",n%2);
  9. }
  10. void main()
  11. {
  12.     int a,c;
  13.     scanf("%d",&a);
  14.     printf("请输入想转换的进制:");
  15.     scanf("%d",&c);
  16.     switch(c)
  17.     {
  18.     case 2:binary(a);putchar('\n');break;
  19.     case 8:printf("%o\n",a);break;
  20.     case 10:printf("%d\n",a);break;
  21.     case 16:printf("%x\n",a);
  22.     }
  23. }
复制代码

——————————————————————————————————————————
如果我解决了你的问题,请按照这个帖子把问题改成已解决,这样你我都能得到技术分,谢谢
http://bbs.itheima.com/thread-85079-1-1.html
回复 使用道具 举报
我先给你个简单的10转2的思路吧,其他都差不多哦,下面是代码,不同再问我哟
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         int number;
  5.         int temp;
  6.         int array[100];
  7.         int j=0;
  8.         int i;int k;
  9.         int count;
  10.         printf("请输入你想转换的数:");
  11.         scanf("%d",&number);
  12.        
  13.         for(i=number;i>0;i--)
  14.         {
  15.                 temp=number%2;
  16.                 number=number/2;
  17.                 array[j++]=temp;
  18.                 if(number==0)
  19.                 break;
  20.         }


  21.         for(k=j-1;k>=0;k--)
  22.         {
  23.                 printf("%d",array[k]);
  24.         }
  25.                 printf("\n");
  26.         return 0;
  27. }
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马