使用c++编写一个递归调用函数,实现十进制数转二进制数;在主函数中 输入一个十进制整数,调用函数求其对应的二进制数。
时间: 2024-05-14 22:16:33 浏览: 112
以下是使用递归调用的方式将十进制数转换为二进制数的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` 函数将其转换为二进制数。最后,我们将结果打印到控制台上。
相关问题
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取余数的结果。
在主函数中,我们首先读入一个十进制整数,然后调用上述的递归函数将其转换为二进制并输出。
1.编写递归函数,实现将一个十进制的整数以二进制的形式输出。并编写主函数测试它。c++
以下是将十进制整数转换为二进制的递归函数的C++代码:
```c++
#include <iostream>
using namespace std;
void decimalToBinary(int n){
if(n > 1){
decimalToBinary(n / 2);
}
cout << n % 2;
}
int main() {
int n;
cout << "请输入一个十进制整数:";
cin >> n;
cout << n << "的二进制形式为:";
decimalToBinary(n);
cout << endl;
return 0;
}
```
在上述代码中,我们定义了一个递归函数`decimalToBinary`,它的参数n是待转换的十进制整数。函数的实现思路是:将n不断除以2,直到商小于等于1为止,然后从最后一次被调用的函数开始,按照从后往前的顺序输出每次除2的余数,即为该十进制整数的二进制形式。
在主函数中,我们先接收用户输入的十进制整数n,然后调用`decimalToBinary`函数输出其二进制形式。
阅读全文