黑马程序员技术交流社区
标题:
今天看到一题目将任意十进制转换成任意2--16进制的问题
[打印本页]
作者:
一步一脚印=-=
时间:
2016-1-30 23:16
标题:
今天看到一题目将任意十进制转换成任意2--16进制的问题
#include <stdio.h>
void trans(i,R){
int a[30];
int j=0,rem;
//取余数放到数组a中
do{
rem=i%R;i=i/R;
a[j]=rem;
j++;
} while(i!=0);
//倒序输出数组a,并且将大于9的余数变形
while (j-->0){
if(a[j]>9){
switch(a[j]){
case 10:{
printf("A");
continue;
}
case 11:{
printf("B");
continue;
}
case 12:{
printf("C");
continue;
}
case 13:{
printf("D");
continue;
}
case 14:{
printf("E");
continue;
}
case 15:{
printf("F");
continue;
}
}
}
printf("%d",a[j]);
}
}
int main(int argc, char *argv[]) {
int i,R;
printf("请输入一个整数:\n");
scanf("%d",&i);
printf("请输入你想转换成的进制数2--16\n");
scanf("%d",&R);
trans(i,R);
return 0;
}
复制代码
妥妥的,费了半天劲
作者:
guyuexing
时间:
2016-1-30 23:31
学习了,谢谢分享
作者:
Chris_Wu
时间:
2016-1-31 12:54
也可以调用系统的sprintf()函数,十六进制格式为x%
作者:
杨冬武
时间:
2016-1-31 23:25
系统只看怎么读,不看怎么存,用scanf和printf应该就可以吧
作者:
杨冬武
时间:
2016-1-31 23:26
你这个方法挺好的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2