数制转换 标准输入输出 题目描述: 数制转换。(要求采用栈实现,练习进栈入栈函数的编写) 输入: 输入的第一行包含两个数,n,d n表示要转换的数的个数 d表示要转换成的进制数 接下来是n个十进制数 输出: 对每一测试用例,用一行输出数制转换后的结果 输入样例: 2 8 123 213 输出样例: 173 325
时间: 2024-03-10 20:46:43 浏览: 29
这道题目已经在之前被提问过了,我这里给出一个使用栈实现的代码示例供你参考:
```
#include <iostream>
#include <stack>
using namespace std;
int main() {
int n, d;
cin >> n >> d;
while (n--) {
int num;
cin >> num;
stack<int> s;
if (num == 0) {
s.push(0);
} else {
while (num) {
s.push(num % d);
num /= d;
}
}
while (!s.empty()) {
cout << s.top();
s.pop();
}
cout << endl;
}
return 0;
}
```
该代码中,我们首先从输入中读取要转换的数的个数 n 和目标进制数 d。然后,我们循环 n 次,每次从输入中读取一个要转换的十进制数 num,并将其转换成目标进制数的形式。具体来说,我们使用一个栈 s 来存储 num 转换成目标进制数后的各个位上的数,当 num 为 0 时,我们将其压入栈 s 中。否则,我们不断地将 num 对 d 取模得到的余数压入栈 s 中,然后将 num 除以 d 取整。
最后,我们依次弹出栈 s 中的元素,倒序输出即可得到转换后的结果。
希望这个示例代码能够帮助到你。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)