#include<iostream>
#include<vector>
#include<string>
#include<sstream> //stringstream头文件
using namespace std;
int main(){
vector<int> arr;
// 5,6,8,26,50,48,52,55,10,1,2,1,20,5:3
vector<string> stu;
string str;
getline(cin, str);
stringstream sstr(str); //转换成string流
string token;
while (getline(sstr, token, ',')) {//读取,以‘,’分隔
//stu.push_back(token);
arr.push_back(atoi(token.c_str()));
}
//string转int:先通过string.c_str()转成char,再通过atoi转成int
//for (int i = 0; i < (int)stu.size() ; i++) {
//arr.push_back(atoi(stu[i].c_str()));
//}
}
牛客练习:
https://www.nowcoder.com/question/next?pid=27976983&qid=545003&tid=45461189
牛客上,循环读取多行数据,用空格隔开,string转int
输入描述:
输入数据有多组, 每行表示一组输入数据。
每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出描述:
每组数据输出求和的结果
输入例子1:
1 2 3
4 5
0 0 0 0 0
输出例子1:
6
9
0
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
string str;
while(getline(cin, str)){
stringstream ss(str);
string tmp;
int sum = 0;
while(getline(ss, tmp, ' ')){
sum += atoi(tmp.c_str());
}
cout << sum << endl;
}
return 0;
}
链接:https://www.nowcoder.com/question/next?pid=27976983&qid=545000&tid=45461189