#include
#include
istream& operator>> (istream& is, string& str);
#include
istream& getline (istream& is, string& str, char delim);
istream& getline (istream& is, string& str); // default delim '\n'
#include
istream& getline (char* s, streamsize n ); // default delim '\n'
istream& getline (char* s, streamsize n, char delim );
'\0'
;#include
int peek(); // no extracting
int get(); // extract
istream& get (char& c);
istream& get (char* s, streamsize n); // default delim '\n'
istream& get (char* s, streamsize n, char delim);
'\0'
自动添加到 s 末尾;istream& ignore (streamsize n = 1, int delim = EOF);
istream&
,因此可以用于条件判断输入有效性,或连续输入;输入描述:
输入包括两个正整数a,b(1 <= a, b <= 1000),输入数据包括多组。
输出描述:
输出a+b的结果
#include
using namespace std;
int main(){
int a, b;
while(cin >> a >> b)
cout << a + b << endl;
return 0;
}
输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100)
接下来每行包括两个正整数a,b(1 <= a, b <= 1000)
输出描述:
输出a+b的结果
#include
using namespace std;
int main(){
int t;
int a, b;
cin >> t;
while(t--){
cin >> a >> b;
cout << a + b << endl;
}
return 0;
}
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出描述:
输出a+b的结果
#include
using namespace std;
int main(){
int a, b;
while(cin >> a >> b){
if(a == 0 && b == 0)
break ;
cout << a + b << endl;
}
return 0;
}
输入描述:
输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
#include
using namespace std;
int main(){
int n, num;
int sum = 0;
while(cin >> n && n != 0){
while(n--){
cin >> num;
sum += num;
}
cout << sum << endl;
sum = 0;
}
return 0;
}
输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
接下来t行, 每行一组数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
#include
using namespace std;
int main(){
int lines, n, num;
int sum;
cin >> lines;
while (cin >> n) {
sum = 0;
while (n--) {
cin >> num;
sum += num;
}
cout << sum << endl;
}
return 0;
}
输入描述:
输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
#include
using namespace std;
int main(){
int n, num, sum;
while (cin >> n) {
sum = 0;
while (n--) {
cin >> num;
sum += num;
}
cout << sum << endl;
}
return 0;
}
输入描述:
输入数据有多组, 每行表示一组输入数据。
每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出描述:
每组数据输出求和的结果
// F1
#include
using namespace std;
int main() {
int sum, num;
while (cin >> num) {
sum += num;
if (cin.get() == '\n') { // 提取空格或行尾回车
cout << sum << endl;
sum = 0;
}
}
return 0;
}
// F2
#include
#include
using namespace std;
int main() {
int sum, num;
string line;
while (getline(cin, line)) {
istringstream iss(line);
while (iss >> num)
sum += num;
cout << sum << endl;
sum = 0;
}
return 0;
}
输入描述:
输入有两行,第一行n
第二行是n个字符串,字符串之间用空格隔开
输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格
#include
#include
#include
#include
using namespace std;
int main() {
int n;
cin >> n;
vector<string> vec(n);
while(n--) cin >> vec[n];
sort(vec.begin(), vec.end());
for (string& str : vec)
cout << str << " ";
return 0;
}
输入描述:
多个测试用例,每个测试用例一行。
每行通过空格隔开,有n个字符,n<100
输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
#include
#include
#include
#include
using namespace std;
int main(){
vector<string> vec;
string tmp;
while (cin >> tmp) {
vec.push_back(tmp);
if (cin.get() == '\n'){
sort(vec.begin(), vec.end());
for (string& str : vec)
cout << str << " ";
cout << endl;
vec.clear();
}
}
return 0;
}
输入描述:
多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符,n<100
输出描述:
对于每组用例输出一行排序后的字符串,用’,'隔开,无结尾空格
#include
#include
#include
#include
#include
using namespace std;
int main(){
vector<string> vec;
string str;
while (getline(cin, str)) { // 解决 '\n'
istringstream iss(str);
while (getline(iss, str, ',')) // 按 ',' 分割
vec.push_back(str);
sort(vec.begin(), vec.end());
for (int i = 0; i < vec.size() - 1; ++i)
cout << vec[i] << ",";
cout << vec.back() << endl;
vec.clear();
}
return 0;
}
数据范围: 0 < a , b < 2 × 1 0 10 0 < a,b < 2 \times 10^{10} 0<a,b<2×1010
输入描述:
输入有多组测试用例,每组空格隔开两个整数
输出描述:
对于每组数据输出一行两个整数的和;
#include
using namespace std;
int main(){
long long a, b; // 需注意数据范围,样例通过不代表所有测试数据通过;
while (cin >> a >> b)
cout << a + b << endl;
return 0;
}