黑马程序员技术交流社区
标题:
和大家分享一个题目,十进制转化成任意进制。
[打印本页]
作者:
大宝820
时间:
2015-9-12 23:36
标题:
和大家分享一个题目,十进制转化成任意进制。
代码如下,大家指点一下
#include <stdio.h>
int main(int argc, const char * argv[]){
int i,num,R,flag;
char bitnum[100];
printf("请输入一个十进制整数:\n");
scanf("%d",&num);
printf("请输入要转换的进制数(2-16之间):\n");
scanf("%d",&R);
//判断进制范围
if(R<2||R>16){
printf("输入数据错误");
}else {
//计算需要转换的进制数,先判断num的正负。
if (num>0) {
for (i=0;num!=0;i++){
if (num % R >= 10) {
bitnum[i]= 'A' + (num % R - 10);
} else {
bitnum[i]=num % R + '0';
}
num = num / R;
}
}else if (num<0){
flag=1;
num=-num;
for ( i=0; num!=0; i++) {
if (num % R >= 10) {
bitnum[i]= 'A' + (num % R - 10);
} else {
bitnum[i]=num % R + '0';
}
num = num / R;
}
}
}
//逆向输出
printf("转化进制后为:");
if (flag==1) {
printf("-") ;
}
while(i--){
printf("%c",bitnum[i]);
}
return 0;
}
复制代码
作者:
羊口羊口羊
时间:
2015-9-13 02:15
赞。。。。。。。
作者:
zq110105
时间:
2015-9-13 10:56
很楼主写的很简练,很实用
作者:
侯越强
时间:
2015-9-13 11:39
yue努力越幸运,签到
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2