输入一个十进制整数,转换成二进制形式输出,要求递归方式实现,使用C语言
时间: 2024-03-19 21:45:29 浏览: 73
好的,以下是使用 C 语言实现的代码示例:
```c
#include <stdio.h>
void decimalToBinary(int num) {
if (num == 0) {
return;
}
decimalToBinary(num / 2);
printf("%d", num % 2);
}
int main() {
int num;
printf("请输入一个十进制整数:");
scanf("%d", &num);
printf("转换成二进制形式为:");
decimalToBinary(num);
printf("\n");
return 0;
}
```
这段代码与上面的 C++ 代码实现思路是一样的,只是语法稍有不同。
在主函数中,我们使用 `scanf()` 函数获取用户输入的十进制整数;
然后,调用 `decimalToBinary()` 函数,将用户输入的整数作为参数传入。
在 `decimalToBinary()` 函数中,我们使用了递归的方式来实现将十进制数转换成二进制的过程。具体来说,我们先判断当前的数是否为 0,如果是,则递归结束,直接返回;如果不是,则递归调用函数自身,将当前数除以 2 的结果作为参数传入,直到最终将数转换成二进制形式。
最后,在每一层递归返回之前,我们使用 `printf()` 函数输出当前数除以 2 的余数,即该位的二进制数值。这样,当递归结束后,整个二进制数就被输出完整了。
希望这个示例能够帮助到您!
阅读全文