用c++语言编写程序演示把一个10进制转换为R进制的转换结果,输入正整数N和R,空格隔开,N是输入的十进制数,R是需要转换的进制数,2<=R<=20 输出是将10进制整数转换为R进制的转换结果,超过9的数字符号显示为A、B、C…….Z等字母。时间限制1s
时间: 2024-02-27 19:56:44 浏览: 59
好的,以下是C++语言的程序示例:
```cpp
#include <iostream>
#include <stack>
using namespace std;
// 将十进制整数n转换为R进制,R为进制数
void decimalToR(int n, int R) {
stack<char> s; // 用栈来保存每一位的字符
// 不断除以R,将模数转换为字符放入栈中
while (n != 0) {
int mod = n % R;
if (mod < 10) {
s.push(mod + '0'); // 将数字字符入栈
} else {
s.push(mod - 10 + 'A'); // 将字母字符入栈
}
n /= R;
}
// 依次输出栈中字符,即为转换结果
while (!s.empty()) {
cout << s.top();
s.pop();
}
}
int main() {
int N, R;
cin >> N >> R;
decimalToR(N, R);
return 0;
}
```
这个程序首先用栈来保存每一位的字符,然后不断除以R,将模数转换为字符放入栈中。最后依次输出栈中字符,即为转换结果。需要注意的是,超过9的数字符号需要显示为A、B、C…….Z等字母。
阅读全文