将10进制转换成任意2到20进制数,超过9的数字符号用A到Z来表示用C++写
时间: 2024-02-21 20:56:37 浏览: 60
好的,我可以帮你完成这个任务。以下是C++代码:
```
#include <iostream>
#include <string>
using namespace std;
// 将十进制数转换为指定进制数
string convert(int num, int base) {
string res = "";
while (num > 0) {
int digit = num % base;
char c = digit < 10 ? digit + '0' : digit - 10 + 'A'; // 超过9的数字符号用A到Z来表示
res = c + res;
num /= base;
}
return res;
}
int main() {
int num, base;
cout << "请输入一个十进制数:";
cin >> num;
cout << "请输入目标进制数(2-20):";
cin >> base;
if (base < 2 || base > 20) {
cout << "目标进制数无效!" << endl;
return 0;
}
string res = convert(num, base);
cout << "转换结果为:" << res << endl;
return 0;
}
```
你可以运行这段代码并输入一个十进制数和目标进制数,程序会输出转换结果。注意,超过9的数字符号用A到Z来表示。
阅读全文