算法
将10进制的数转换成2-16进制中的一种
非递归实现
char a[N];
void convert(int n,int base)
{
int i;
i=0;
while(n){
a[i]=n%base;
if(a[i]>=10)
a[i]='A'+a[i]-10;
else
a[i]+='0';
i++;
n/=base;
}
i--;
while(i>=0)
printf("%c",a[i--]);
printf("\n");
}
递归实现
void convert(int n,int base)
{
char digit;
if(n){
convert(n/base,base);
digit=n%base;
if(digit>=10)
digit='A'+digit-10;
else
digit+='0';
printf("%c",digit);
}
}
说明:对于0进行单独处理即可
题目
本文详细介绍了两种将十进制数转换为2至16进制数的方法,包括非递归和递归实现。通过具体代码示例,读者可以了解如何在C语言中使用字符数组来存储并打印转换后的结果。此外,还提供了多个进制转换相关的编程题目,供读者实践和提升技能。
1047

被折叠的 条评论
为什么被折叠?



