标准输入问题

1.读取数据量不定的输入数据

e.g.

#include <iostream>

using namespace std;

void main()
{
    
    int sum=0,val=0;
    
    while(cin>>val)//读取数据直到遇到文件尾;
    {
        sum+=val;
    }
    cout<<sum<<endl;
    
    system("pause");
}

 

输入 3 4 5 6

Ctrl+Z  (Windows系统输入文件结束符)

输出:

 

当使用一个istream类对象作为条年时,其效果是检测流的状态。

如果流是有效的,即未遇到错误,那么检测成功。当遇到文件结束符,或遇到一个无效输入时(上例中假设读入的值不是一个整数),istream类对象的状态会变为无效。无效的istream类对象使条件表达式为假。

因此,while循环会一直执行直至遇到文件结束符(或输入错误)。循环体内将当前值加到sum上。

Tip:从键盘输入文件结束符

当从键盘向程序输入数据时,对于如何指出文件结束,不同操作系统有不同的约定。
在Windows系统中,输入文件结束符的方法是敲Ctrl+Z,然后按EnterReturn健。
在Unix系统中,包括Mac OS X 系统中,文件结束符输入是用Ctrl+D

 

参考:C++ primer

 

在赛码网刷题,形式和lintcode不太一样,需要自己输入数据,做文件包含,声明命名空间,写完整个main,刚开始碰到整个人都是懵比的。

猜你喜欢

转载自www.cnblogs.com/Tang-tangt/p/9278883.html
今日推荐