题目:输入数据的每一行包括若干个(至少一个)以空格隔开的整数,输出每行中所有整数之和。如果只能使用字符和字符数组,一般有两个方案:一是使用getchar()边读边算,代码比较短,但容易出错,并且相对较难理解;二是每次读一行,然后再扫描该行的字符,同时计算结果。如果使用c++,代码可以很简单。
提示:虽然string和sstream都很方便,但string很慢,sstream更慢,应谨慎使用。
心得:读入一整行数据后,创建字符串流,像读取cin一样读取这个流。
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
int main()
{
string line;
while(getline(cin, line))
{
int sum = 0, x;
stringstream ss(line);//创建字符串流
while(ss >> x)
sum += x;
cout<<sum<<endl;
}
return 0;
}