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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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. }
复制代码

1 个回复

正序浏览
虽然看得有点晕,还是有收获滴!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马