题解:P1427 小鱼的数字游戏

· · 题解

这道题目要求我们输入一串数字,以 0 结尾,然后倒序输出这些数字(不输出 0

1. 思路

2. 关键点

3. 模拟

输入:

3 65 23 5 34 1 30 0

执行过程:

  1. 依次读取数字,压入栈:
    | 30 |
    | 1  |
    | 34 |
    | 5  |
    | 23 |
    | 65 |
    | 3  |
  2. 依次弹出并输出:
    • 30(栈顶)→ 134523653(栈底)
  3. 最终输出:

    30 1 34 5 23 65 3

    4.代码实现

include<bits/stdc++.h>

using namespace std; stack<int> s; // 定义一个栈,用来存储数字 int x; // 用于读取输入的数字

int main() { // 读取输入,遇到0时停止 while(cin >> x && x != 0) { s.push(x); // 把数字压入栈 } // 依次弹出栈顶元素并输出 while(!s.empty()) { cout<<s.top(); // 输出栈顶元素 s.pop(); // 弹出栈顶 if (!s.empty()) // 如果栈不为空,补一个空格 cout << " "; } return 0; }


好的话点个赞吧!