编写一个递归调用函数,实现十进制数转二进制数;在主函数中 输入一个十进制整数,调用函数求其对应的二进制数。
时间: 2024-05-14 17:16:33 浏览: 108
好的,以下是代码:
```python
def decimal_to_binary(n):
"""
递归调用函数,将十进制数转换为二进制数
"""
if n == 0:
return ''
else:
return decimal_to_binary(n // 2) + str(n % 2)
# 主函数
if __name__ == '__main__':
decimal_num = int(input("请输入一个十进制整数:"))
binary_num = decimal_to_binary(decimal_num)
print(f"{decimal_num}的二进制数为:{binary_num}")
```
运行效果如下:
```
请输入一个十进制整数:10
10的二进制数为:1010
```
相关问题
使用c++编写一个递归调用函数,实现十进制数转二进制数;在主函数中 输入一个十进制整数,调用函数求其对应的二进制数。
以下是使用递归调用的方式将十进制数转换为二进制数的C++代码:
```c++
#include <iostream>
using namespace std;
void decimalToBinary(int decimal) {
if (decimal == 0) {
return;
} else {
decimalToBinary(decimal / 2);
cout << decimal % 2;
}
}
int main() {
int decimal;
cout << "Please enter a decimal number: ";
cin >> decimal;
cout << "The binary representation of " << decimal << " is: ";
decimalToBinary(decimal);
cout << endl;
return 0;
}
```
代码中的 `decimalToBinary` 函数接收一个十进制整数作为参数,并将其转换为二进制数。该函数通过递归调用自身来实现转换。当传入的参数为0时,递归结束。否则,将参数除以2并将其余数打印出来,然后再递归调用函数。最终,所有的余数将按相反的顺序打印出来,表示二进制数。
在主函数中,我们从控制台输入一个十进制数,并调用 `decimalToBinary` 函数将其转换为二进制数。最后,我们将结果打印到控制台上。
(二)程序二:十进制转换为二进制 1.编写递归函数,实现将一个十进制整数转换为二进制数字的功能。 2.由用户输入一个正整数num,调用函数,转换为其对应的二进制,并输出。
下面是Python语言的代码实现:
```python
def decimal_to_binary(num):
# 递归结束条件:num为0或1
if num == 0:
return '0'
elif num == 1:
return '1'
else:
# 递归调用,将num//2的商转换为二进制并加上num%2的余数
return decimal_to_binary(num//2) + str(num%2)
# 用户输入一个正整数
num = int(input("请输入一个正整数:"))
# 调用函数,将其转换为二进制并输出
print(decimal_to_binary(num))
```
代码的思路是将十进制数不断整除2,直到商为0或1时结束递归。在递归过程中,每次将商转换为二进制并加上余数,最终得到的字符串就是该十进制数对应的二进制数。
阅读全文
相关推荐













