在main函数中实现对于输入的任意十进制数字,例如:1234,利用栈存储每个位置上的数字,并输出其逆序:4321。请使用顺序栈实现c++
时间: 2024-09-30 14:04:18 浏览: 36
C++计算一个数字的二进制中0或1的个数原理及代码
5星 · 资源好评率100%
在C++中,你可以通过创建一个顺序栈(通常使用vector或自定义数组实现)来储存输入数字的每一位,然后逐步弹出并拼接成逆序的字符串。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <stack>
#include <string>
// 将整数转换为字符串,并按位压入栈
void decimalToReverse(int num, std::stack<int>& stack) {
while (num > 0) {
stack.push(num % 10);
num /= 10;
}
}
// 从栈中取出数字并组成逆序字符串
std::string reverseStack(std::stack<int>& stack) {
std::string reversedStr = "";
while (!stack.empty()) {
reversedStr += to_string(stack.top());
stack.pop();
}
return reversedStr;
}
int main() {
int inputNum;
std::cout << "请输入一个十进制数字: ";
std::cin >> inputNum;
std::stack<int> stack;
decimalToReverse(inputNum, stack);
std::string reversedNumber = reverseStack(stack);
std::cout << "逆序后的数字是: " << reversedNumber << std::endl;
//
阅读全文