定义一个递归函数fun(n,r),实现将十进制数n转换成r(2<=r<=16)进制数,转换的结果为函数的返回值。(注意r>10之后的处理方法) 2、在主程序中调用测试该函数。
时间: 2024-03-11 10:50:36 浏览: 16
好的,这是一个简单的递归函数的实现,可以实现将十进制数转换成指定进制的数:
```
#include <iostream>
using namespace std;
char digitToChar(int n) {
if (n < 10) {
return n + '0';
} else {
return n - 10 + 'A';
}
}
string fun(int n, int r) {
if (n == 0) {
return "";
} else {
return fun(n / r, r) + digitToChar(n % r);
}
}
int main() {
int n, r;
cout << "请输入要转换的十进制数n和要转换的进制r(2<=r<=16):" << endl;
cin >> n >> r;
cout << "转换结果为:" << fun(n, r) << endl;
return 0;
}
```
这个程序可以把一个十进制数 `n` 转换成指定的进制 `r`。其中 `digitToChar` 函数用于将数字转换成字符,即将 `10` 到 `15` 转换成 `A` 到 `F`。
样例输入:
```
请输入要转换的十进制数n和要转换的进制r(2<=r<=16):
123 16
```
样例输出:
```
转换结果为:7B
```