十进制转换二进制:输入一个正整数 n,将其转换为二进制后输出。要求定义并调用函数dectobin(n),它的功能是在一行中打印出二进制的正整数n,用递归实现。例如,调用dectobin(10),输出1010。试编写相应程序。C语言
时间: 2024-03-18 22:40:44 浏览: 135
好的,下面是代码实现:
```c
#include <stdio.h>
//递归将十进制转换为二进制
void dectobin(int n) {
if (n > 1) {
dectobin(n / 2);
}
printf("%d", n % 2);
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("%d的二进制为:", n);
dectobin(n);
return 0;
}
```
在上面的代码中,我们定义了一个递归函数dectobin,它的功能是将十进制数n转换为二进制数。在函数中,我们首先判断n是否大于1,如果是的话就递归调用dectobin函数,直到n小于等于1为止。然后我们依次输出n除以2的余数,这样就可以得到二进制数了。
在main函数中,我们从标准输入中读取了一个正整数n,然后调用dectobin函数将其转换成二进制数,并输出结果。
相关问题
递归实现十进制转二进制:输入一个正整数 n,将其转换为二进制后输出。要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。试用C语言编写相应程序。
好的,以下是C语言递归实现十进制转二进制的代码:
```c
#include <stdio.h>
void dectobin(int n) {
if (n / 2 != 0) {
dectobin(n / 2);
}
printf("%d", n % 2);
}
int main() {
int n = 10;
printf("%d的二进制为:", n);
dectobin(n);
printf("\n");
return 0;
}
```
在上面的代码中,我们定义了一个`dectobin()`函数来实现递归将十进制数转换为二进制数的功能。首先,我们判断n是否可以被2整除,如果可以,则递归调用`dectobin(n / 2)`函数,这样就能够把n转换成二进制数的高位。然后,我们输出n除以2的余数,这就是n的二进制数的低位。
在`main()`函数中,我们先设置n的值为10,然后调用`dectobin()`函数来转换n为二进制数,并输出结果。
十进制转换二进制:输入一个正整数田,将其特换为二进制后输出。要求定义并调 用用函数 dectobin(a).
好的,我知道了。以下是实现代码:
```python
def dectobin(a):
"""
将十进制数a转换为二进制数并返回
"""
if a == 0:
return '0'
b = ''
while a != 0:
b = str(a % 2) + b
a //= 2
return b
num = int(input("请输入一个正整数:"))
print(dectobin(num))
```
以上代码中,我们定义了一个函数`dectobin(a)`,用于将十进制数a转换为二进制数并返回。在主函数中,我们首先通过`input`函数获取用户输入的正整数,并将其转化为整型。然后,我们调用`dectobin`函数,将其转换为二进制数,并通过`print`函数输出。
注意,这里的函数实现是经典的除二取余法,通过循环将余数逆序排列即可得到二进制数。
阅读全文