c语言进制转换递归
时间: 2023-12-30 19:22:50 浏览: 157
以下是C语言进制转换递归的代码示例:
```c
#include <stdio.h>
void convert(int num, int base) {
if (num == 0) {
return;
}
int remainder = num % base;
convert(num / base, base);
if (remainder < 10) {
printf("%d", remainder);
} else {
printf("%c", remainder - 10 + 'A');
}
}
int main() {
int num, base;
printf("请输入一个十进制数:");
scanf("%d", &num);
printf("请输入要转换的进制数:");
scanf("%d", &base);
printf("转换结果为:");
convert(num, base);
printf("\n");
return 0;
}
```
相关问题
C语言十进制转化为二进制用递归函数
以下是将十进制数转换为二进制数的递归函数实现:
```c
#include <stdio.h>
void decimalToBinary(int n) {
if (n == 0) {
return;
} else {
decimalToBinary(n / 2);
printf("%d", n % 2);
}
}
int main() {
int decimalNum = 10;
printf("The binary representation of %d is: ", decimalNum);
decimalToBinary(decimalNum);
printf("\n");
return 0;
}
```
该函数将十进制数 `n` 转换为二进制数并打印出来。递归函数的基本思想是将 `n` 除以 `2` 并递归调用函数,直到 `n` 为 `0` 为止。然后,逆序打印出余数,从而获得二进制数。
c语言递归十进制转换二进制
下面是使用递归实现十进制转换为二进制的C语言代码:
```c
#include <stdio.h>
void decimalToBinary(int decimalNum){
if(decimalNum == 0){
return;
}
decimalToBinary(decimalNum / 2);
printf("%d", decimalNum % 2);
}
int main(){
int decimalNum = 23;
printf("%d in binary is: ", decimalNum);
decimalToBinary(decimalNum);
printf("\n");
return 0;
}
```
在这个代码中,我们定义了一个函数 `decimalToBinary`,它接受一个参数:需要转换的十进制数 `decimalNum`。
在函数中,我们首先计算出 `decimalNum` 除以2的商和余数,然后递归调用 `decimalToBinary` 函数,并将商作为参数传入。递归调用会一直进行,直到 `decimalNum` 等于0为止。
当 `decimalToBinary` 函数递归返回时,我们输出余数。
在 `main` 函数中,我们定义了需要转换的十进制数,并调用 `decimalToBinary` 函数进行转换。最后,我们输出转换后的二进制数。
阅读全文