利用栈结构,编写程序将十进制数转换成二进制数或八进制数。
时间: 2023-06-01 11:01:54 浏览: 70
以下是将十进制数转换为二进制数的示例程序:
```
#include <iostream>
#include <stack>
using namespace std;
int main() {
int n;
stack<int> s;
cout << "请输入一个十进制数:";
cin >> n;
while (n != 0) {
s.push(n % 2);
n /= 2;
}
cout << "转换成二进制数为:";
while (!s.empty()) {
cout << s.top();
s.pop();
}
return 0;
}
```
以下是将十进制数转换为八进制数的示例程序:
```
#include <iostream>
#include <stack>
using namespace std;
int main() {
int n;
stack<int> s;
cout << "请输入一个十进制数:";
cin >> n;
while (n != 0) {
s.push(n % 8);
n /= 8;
}
cout << "转换成八进制数为:";
while (!s.empty()) {
cout << s.top();
s.pop();
}
return 0;
}
```
两个程序的思路类似,只是在转换时采用不同的进制。利用栈结构可以将转换后的结果倒序输出,从而得到正确的结果。
阅读全文