【深基5.例2】小鱼的数字游戏 · 教师题解

【深基5.例2】小鱼的数字游戏

解题思路

读入非零数字并保存到数组,遇到 0 停止,再逆序输出数组。

正确性说明

数组保存了全部有效输入;从末尾到开头访问恰好得到逆序,终止标志不在数组中。

易错点

0 不输出;输入长度未知,用动态数组。

复杂度

数字个数 n,时间 O(n),空间 O(n)。

参考代码(C++11)

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    vector<int> a;
    int x;
    while (cin >> x && x != 0)
        a.push_back(x);
    for (int i = int(a.size()) - 1; i >= 0; i--) {
        if (i != int(a.size()) - 1)
            cout << " ";
        cout << a[i];
    }
    cout << "\n";
    return 0;
}
返回题目