模拟--P1427 小鱼的数字游戏

题目描述

小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。

输入输出格式

输入格式:

一行内输入一串整数,以0结束,以空格间隔。

输出格式:

一行内倒着输出这一串整数,以空格间隔。在这里插入图片描述

思路

这题没有什么难度,唯一不好处理的部分是输入数据的读取,如何读取一行数字,以0为结束符?scanf函数可以做到,其中涉及到键盘缓冲等
在这里插入图片描述
如图可以看出,缓冲区可以取出,被空白符(空格、回车等)隔断为另一个输入项的

  int main(){
  	    int t[101]={0};
  	    int top;
	    while(scanf("%d",&t[top]))
	    {
	        if (t[top]==0)break;
	        ++top;
	    }	
	
	    for(int i=top-1;i>=0;--i)
	        printf("%d ",t[i]);
	    return 0;
    }

学到的点

使用 while(scanf("%d",&t[top]))获取一行数据,也可以用

    for (int i = 0; i < input_nums; ++i) {
        scanf("%d", &in);
        _ins.insert(in);
    }

读取一行数据(第二个不适与本体)

posted @ 2018-11-25 23:08  Sun2Q  阅读(148)  评论(0编辑  收藏  举报