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,然后按Enter或Return健。
在Unix系统中,包括Mac OS X 系统中,文件结束符输入是用Ctrl+D。
参考:C++ primer
在赛码网刷题,形式和lintcode不太一样,需要自己输入数据,做文件包含,声明命名空间,写完整个main,刚开始碰到整个人都是懵比的。