黑马程序员技术交流社区

标题: 十进制转换为R(2<R<16)进制 的方法 [打印本页]

作者: coding_wang    时间: 2015-9-1 18:40
标题: 十进制转换为R(2<R<16)进制 的方法
本帖最后由 coding_wang 于 2015-9-1 18:50 编辑
  1. #include<stdio.h>
  2. void main()
  3. {
  4.         int num,rx=0,r;                                    //r为目标进制数,rx为转换后的数,num为转换前的数
  5.         int x=1;                                                //x为余数叠加的目标位置
  6.         printf("the decimal number is :");        //获取num
  7.         scanf("%d",&num);
  8.         printf("The R is :");
  9.         scanf("%d",&r);
  10.         while(r<2||r>16)                                     //保证r取值范围
  11.         {
  12.                 printf("ERROR,The R is :");
  13.                 scanf("%d",&r);
  14.         }
  15.         while(num!=0)
  16.         {
  17.                 rx=rx+num%r*x;                                        //往高位叠加余数
  18.                 num=num/r;                                             //过滤已经处理过的低位数
  19.                 x=x*10;                                                     //设置下一个叠加位置
  20.         }
  21.         rx=rx+num*x;
  22.         printf("num_r is : %d \n",rx);
  23. }
复制代码


作者: 羊口羊口羊    时间: 2015-9-1 19:26
虽然看得有点晕,还是有收获滴!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2