C语言 递归实现十进制转二进制:输入一个正整数 n,将其转换为二进制后输出。要求定义并调 用函数 dectobin(n),它的功能是输出 n 的二进制。试编写相应程序。
时间: 2024-03-01 15:52:31 浏览: 92
C语言-课后作业题.docx
好的,这是一个关于 C 语言的编程问题。我可以为您提供一个示例代码,您可以根据您的需要进行修改和调整。
```c
#include <stdio.h>
void dectobin(int n) {
if (n <= 1) {
printf("%d", n);
return;
}
dectobin(n / 2);
printf("%d", n % 2);
}
int main() {
int n;
printf("请输入一个正整数 n:");
scanf("%d", &n);
printf("%d 的二进制为:", n);
dectobin(n);
printf("\n");
return 0;
}
```
这个程序中,我们定义了一个 `dectobin` 函数,用于将给定的正整数转换为二进制。这个函数使用了递归的方式,先将给定的数除以 2,然后调用自身,最后输出余数。当给定的数小于等于 1 时,直接输出该数。
在 `main` 函数中,我们接收一个输入的正整数 `n`,调用 `dectobin` 函数并输出结果。
希望这个代码能够对您有所帮助!
阅读全文