实现对用户输入的一组数求和,如果预先不知道要对多少个数求和,这就需要不断读取数据直至没有新的输入为止:
//读取数量不定的输入数据
#include <iostream>
int main() {
int sum=0,value=0;
while(std::cin>>value)
sum+=value;
std::cout << "Sum is: " <<sum<< std::endl;
return 0;
}
如果我们输入
3 4 5 6
则程序会输出
Sum is: 18
注意:在结束输入的时候需要先按Enter键确保所有数据被读取,按下 Ctrl+D(Linux/macOS)(或 Ctrl+Z(Windows))可以正常结束输入。
main的首行定义了两个名为sum和value的int变量,均初始化为0。我们使用value保存用户输入的每个数,数据读取操作是在while的循环中完成的:
while(std::cin>>value)
while循环条件的求值是执行表达式
std::cin>>value
此表达式从标准输入读取下一个数