黑马程序员技术交流社区
标题:
十进制转换为R(2<R<16)进制 的方法
[打印本页]
作者:
coding_wang
时间:
2015-9-1 18:40
标题:
十进制转换为R(2<R<16)进制 的方法
本帖最后由 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);
}
复制代码
作者:
羊口羊口羊
时间:
2015-9-1 19:26
虽然看得有点晕,还是有收获滴!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2