序号 | 输入数据类型 | 行数 | 每行数据数 | 数据分隔符 |
---|---|---|---|---|
1 | 整型数 | unknown |
2 | space |
2 | 首行 | 2 | space |
|
3 | 末行数据均为0 | 2 | space |
|
4 | 末行为0 | 行首 | space |
|
5 | 首行 | 行首 | space |
|
6 | unknown |
行首 | space |
|
7 | unknown |
unknown |
space |
|
8 | 字符串 | 1 | 首行 | space |
9 | unknown |
unknown |
space |
|
10 | unknown |
unknown |
, |
1 两数求和,未知行数§
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。
输出描述:
输出a+b的结果。
输入例子:
1 5 10 20
输出例子:
6 30
#include <iostream>
using namespace std;
int main()
{
int a,b;
// scanf("%d%d",&a,&b)!=EOF
while(cin>>a>>b){
cout << a+b << endl;
}
return 0;
}
2 两数求和§
输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100)。 接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)。
输出描述:
输出a+b的结果。
输入例子:
2 1 5 10 20
输出例子:
6 30
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
}
3 两数求和,末行全0§
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入。
输出描述:
输出a+b的结果。
输入例子:
1 5 10 20 0 0
输出例子:
6 30
#include<iostream>
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b)
{
if(!a&&!b) return 0;
cout << a+b << endl;
}
}
4 数据求和,末行为0§
输入描述:
输入数据包括多组。 每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100),n为0的时候结束输入。 接下来n个正整数,即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果。
输入例子:
4 1 2 3 4 5 1 2 3 4 5 0
输出例子:
10 15
#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(!n) return 0;
int sum=0;
while(n--)
{
int x;
cin>>x;
sum+=x;
}
cout<<sum<<endl;
}
}
5 数据求和§
输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。 接下来t行, 每行一组数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果。
输入例子:
2 4 1 2 3 4 5 1 2 3 4 5
输出例子:
10 15
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int x;
cin>>x;
int sum=0;
while(x--)
{
int t;
cin>>t;
sum+=t;
}
cout << sum << endl;
}
}
6 数据求和,未知行数§
输入描述:
输入数据有多组, 每行表示一组输入数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果。
输入例子:
4 1 2 3 4 5 1 2 3 4 5
输出例子:
10 15
#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int sum=0;
while(n--)
{
int t;
cin>>t;
sum+=t;
}
cout << sum << endl;
}
}
7 数据求和,未知数目§
输入描述:
输入数据有多组, 每行表示一组输入数据。 每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出描述:
每组数据输出求和的结果。
输入例子:
1 2 3 4 5 0 0 0 0 0
输出例子:
6 9 0
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
string str;
stringstream ss;
while(getline(cin, str)){
ss.str(str);
int sum=0;
int x;
while(ss>>x){
sum+=x;
}
cout<<sum<<endl;
ss.clear();
}
}
8 字符串排序§
输入描述:
输入有两行,第一行n。 第二行是n个空格隔开的字符串。
输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格。
输入例子:
5 c d a bb e
输出例子:
a bb c d e
#include <iostream>
#include <map>
using namespace std;
int main()
{
map<string, int> maps;
int n;
cin>>n;
while(n--)
{
string str;
cin>>str;
maps[str]++;
}
for(const auto&x:maps){
int t=x.second;
while(t--) cout << x.first << " ";
}
}
9 字符串排序,未知数目§
输入描述:
多个测试用例,每个测试用例一行。 每行通过空格隔开,有n个字符,n<100。
输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开。
输入例子:
a c bb f dddd nowcoder
输出例子:
a bb c dddd f nowcoder
#include <iostream>
#include <sstream>
#include <map>
using namespace std;
int main()
{
map<string,int>maps;
string str;
stringstream ss;
while(getline(cin,str)){
ss.str(str);
while(ss>>str) maps[str]++;
for(const auto& x:maps){
int t=x.second;
while(t--) cout << x.first << " ";
}
cout << endl;
ss.clear();
maps.clear();
}
}
10 字符串排序,逗号分隔§
输入描述:
多个测试用例,每个测试用例一行。 每行通过“,”隔开,有n个字符,n<100。
输出描述:
对于每组用例输出一行排序后的字符串,用“,”隔开,无结尾空格。
输入例子:
a,c,bb f,dddd nowcoder
输出例子:
a,bb,c dddd,f nowcoder
#include <iostream>
#include <map>
using namespace std;
int main()
{
string str;
map<string,int> maps;
while(cin>>str)
{
string::size_type n = str.find(',');
while(n!=string::npos){
int pos=0;
for(int i=0;i<str.size();++i){
if(str[i]==','){pos=i;break;}
}
string cur=str.substr(0,pos);
maps[cur]++;
str=str.substr(pos+1);
n = str.find(',');
}
maps[str]++;
for(const auto& x:maps){
int t=x.second;
for(int i=0;i<t-1;++i) cout<<x.first<<",";
if(x!=*(maps.crbegin())) cout<<x.first<<",";
else cout<<x.first<<endl;
}
maps.clear();
}
}