题目描述
小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字 a_iai(长度不一定,以 00 结束),记住了然后反着念出来(表示结束的数字 00 就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。
输入格式
一行内输入一串整数,以 00 结束,以空格间隔。
输出格式
一行内倒着输出这一串整数,以空格间隔。
对于这种题目,首先是读入数组然后倒叙输出。比如这样:
#include<iostream>
using namespace std;
int i=0,a[105];
int main()
{
do
{
++i;//前缀运算,先进行i=i+1再使用i的值
cin>>a[i];//读入a[i]
}while(a[i]!=0);//如果a[i]不为0,则继续读数
for (int j=i-1;j>=1;j--) cout<<a[j]<<" ";//i-1个数包括了a数组中不为0的部分,从第i-1个数反序输出即可
return 0;
}
不过,做题嘛。一定要多元化,脑子要放开。况且最近在练习递归,所以递归代码奉上:
#include<bits/stdc++.h>
using namespace std;
int a[100000];
int i&#