将十进制转换成任意进制数
#include
// 将十进制数转换成任意进制数
void convert(int num, int base) {
if (num == 0) {
return;
}
convert(num / base, base);
printf("%d", num % base);
}
int main() {
int num, base;
printf("请输入一个十进制数:");
scanf("%d", &num);
printf("请输入要转换的进制数:");
scanf("%d", &base);
printf("%d的%d进制数为:", num, base);
convert(num, base);
printf("\n");
return 0;
}
代码的思路是通过递归的方式将十进制数转换成任意进制数
首先从用户输入中获取要转换的十进制数和目标进制数。
然后调用convert()函数进行转换,该函数采用递归的方式进行转换。
在convert()函数中,如果要转换的数num等于 0,则直接返回,否则继续进行转换。
在每次递归时,先将num除以目标进制数base,得到商和余数,然后递归调用convert()函数,将商作为新的参数传入。
最后,在每次递归返回时,输出余数,这样就可以得到转换后的任意进制数。
需要注意的是,该程序假设目标进制数小于等于 10。如果要支持更高的进制数,可以使用字母表示数字。
领取专属 10元无门槛券
私享最新 技术干货