本帖最后由 coding_wang 于 2015-9-1 18:50 编辑
- #include<stdio.h>
- void main()
- {
- int num,rx=0,r; //r为目标进制数,rx为转换后的数,num为转换前的数
- int x=1; //x为余数叠加的目标位置
- printf("the decimal number is :"); //获取num
- scanf("%d",&num);
- printf("The R is :");
- scanf("%d",&r);
- while(r<2||r>16) //保证r取值范围
- {
- printf("ERROR,The R is :");
- scanf("%d",&r);
- }
- while(num!=0)
- {
- rx=rx+num%r*x; //往高位叠加余数
- num=num/r; //过滤已经处理过的低位数
- x=x*10; //设置下一个叠加位置
- }
- rx=rx+num*x;
- printf("num_r is : %d \n",rx);
- }
复制代码
|
|