(二)程序二:十进制转换为二进制 1.编写递归函数,实现将一个十进制整数转换为二进制数字的功能。 2.由用户输入一个正整数num,调用函数,转换为其对应的二进制,并输出。
时间: 2024-05-01 08:22:14 浏览: 255
下面是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时结束递归。在递归过程中,每次将商转换为二进制并加上余数,最终得到的字符串就是该十进制数对应的二进制数。
相关问题
1.编写递归函数,实现将一个十进制整数转换为二进制数字的功能。 2.由用户输入一个正整数num,调用函数,转换为其对应的二进制,并输出。
以下是 Python 代码实现:
```python
def decimal_to_binary(num):
if num == 0:
return ''
else:
return decimal_to_binary(num // 2) + str(num % 2)
num = int(input("请输入一个正整数:"))
binary_num = decimal_to_binary(num)
print(f"{num} 的二进制数为:{binary_num}")
```
代码思路:
- 定义一个递归函数 `decimal_to_binary`,接收一个十进制整数 `num` 作为参数。
- 如果 `num` 为 0,返回空字符串。
- 否则,将 `num` 除以 2 的整数部分作为参数调用 `decimal_to_binary` 函数,并将结果与 `num` 除以 2 的余数拼接成一个字符串返回。
- 接收用户输入的正整数 `num`。
- 调用 `decimal_to_binary` 函数,将 `num` 转换为对应的二进制字符串。
- 输出结果。
运行代码,效果如下:
```
请输入一个正整数:13
13 的二进制数为:1101
```
C++:1. 编写递归函数,实现将一个十进制的整数以二进制的形式输出。并编写主函数测试它。
以下是实现将一个十进制的整数以二进制的形式输出的递归函数的代码:
```cpp
#include <iostream>
using namespace std;
void dec2bin(int num)
{
if(num == 0)
return;
dec2bin(num / 2);
cout << num % 2;
}
int main()
{
int num;
cout << "请输入一个十进制整数:";
cin >> num;
cout << "二进制形式为:";
dec2bin(num);
cout << endl;
return 0;
}
```
在这个递归函数中,我们首先判断当前的十进制数是否为0,如果为0,则直接返回。否则,我们将该数除以2并递归调用函数本身,直到该数为0为止。在每次递归调用后,我们输出该数对2取余数的结果。
在主函数中,我们首先读入一个十进制整数,然后调用上述的递归函数将其转换为二进制并输出。
阅读全文
相关推荐














