题解:洛谷 P1427 小鱼的数字游戏
【题目来源】
【题目描述】
小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字 \(a_i\)(长度不一定,以 \(0\) 结束),记住了然后反着念出来(表示结束的数字 \(0\) 就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。
【输入】
一行内输入一串整数,以 \(0\) 结束,以空格间隔。
【输出】
一行内倒着输出这一串整数,以空格间隔。
【输入样例】
3 65 23 5 34 1 30 0
【输出样例】
30 1 34 5 23 65 3
【算法标签】
《洛谷 P1427 小鱼的数字游戏》 #递归# #栈#
【代码详解】
#include <bits/stdc++.h> // 包含标准库头文件(万能头文件)
using namespace std; // 使用标准命名空间
/**
* 主函数 - 程序入口
* @return 程序执行状态码(0表示成功)
*/
int main()
{
int a[105]; // 定义数组:存储输入的数字序列
int mark = 1; // 定义变量:数组索引标记,初始为1
int t; // 定义变量:临时存储输入的数字
// 循环读入数据到数组中,直到输入为0
cin >> t; // 读取第一个数字
while (t != 0) // 当输入不为0时继续循环
{
a[mark] = t; // 将当前数字存入数组
mark++; // 数组索引后移
cin >> t; // 读取下一个数字
}
// 倒序输出数组中的数字
for (int i = mark - 1; i >= 1; i--)
{
cout << a[i] << " "; // 输出当前数字
}
return 0; // 程序正常结束
}
【运行结果】
3 65 23 5 34 1 30 0
30 1 34 5 23 65 3
浙公网安备 33010602011771号