OJ在线编程常见输入输出练习
第一题a+b
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组
输出a+b的结果
输入
1 5
10 20
输出
6
30
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b)
cout<<a+b<<endl;
return 0;
}
///
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
while(scanf("%d\n%d",&a,&b)!=EOF)
cout<<a+b<<endl;
return 0;
}
第二题
输入第一行包括一个数据组数t(1 <= t <= 100)
接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)
输出两个整数和
输入
2
1 5
10 20
输出
6
30
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
int t;
cin>>t;
vector<int> sum;
for(int i=0;i<t;i++)
{
cin>>a>>b;
sum.push_back(a+b);
}
for(int i=0;i<t;i++)
cout<<sum[i]<<endl;
return 0;
}
第三题
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出两个整数和
输入
1 5
10 20
0 0
输出
6
30
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
vector<int> vec;
while(true)
{
scanf("%d\n%d",&a,&b);
if(a==0&&b==0)
break;
vec.push_back(a+b);
}
for(auto x:vec)
cout<<x<<endl;
return 0;
}
第四题
输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。
输出每组数据输出求和的结果
输入
4 1 2 3 4
5 1 2 3 4 5
0
输出
10
15
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
vector<int> vec;
while(cin>>n&&n!=0)
{
int sum=0;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
sum=sum+a;
}
vec.push_back(sum);
}
for(auto x:vec)
cout<<x<<endl;
return 0;
}
第五题
输入的第一行包括一个正整数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 <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
vector<int> vec;
for(int i=0;i<t;i++)
{
int n;
cin>>n;
int sum=0;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
sum=sum+a;
}
vec.push_back(sum);
}
for(auto x:vec)
cout<<x<<endl;
return 0;
}
第六题
输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数
输出每组数据输出求和的结果
输入
4 1 2 3 4
5 1 2 3 4 5
输出
10
15
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
vector<int> vec;
while(scanf("%d",&n)!=EOF)//while(cin>>n)
{
int sum=0;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
sum=sum+a;
}
vec.push_back(sum);
}
for(auto x:vec)
cout<<x<<endl;
return 0;
}
第七题
输入数据有多组, 每行表示一组输入数据
每行不定有n个整数,空格隔开。(1 <= n <= 100)
输出每组数据输出求和的结果
输入
1 2 3
4 5
0 0 0 0 0
输出
6
9
0
#include <bits/stdc++.h>
using namespace std;
int main()
{
int num = 0,sum = 0;
while(cin >> num)
{
sum += num;
if(cin.get() == '\n')
{
cout << sum << endl;
sum = 0;
}
}
return 0;
}
第八题
输入有两行,第一行n
第二行是n个空格隔开的字符串
输出一行排序后的字符串,空格隔开,无结尾空格
输入
5
c d a bb e
输出
a bb c d e
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<string> str;
int num;
cin >> num;
for (int i = 0; i < num; i++)
{
string temp;
cin >> temp;
str.push_back(temp);
}
sort(str.begin(), str.end());
for (int i = 0; i < str.size(); i++)
cout << str[i] << " ";
return 0;
}
第九题
多个测试用例,每个测试用例一行
每行通过空格隔开,有n个字符,n<100
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
输入
a c bb
f dddd
nowcoder
输出
a bb c
dddd f
nowcoder
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
while(getline(cin,s))
{
vector<string> vec;
stringstream ss;
string temp;
ss<<s;
while(getline(ss,temp,' '))
{
vec.push_back(temp);
}
sort(vec.begin(),vec.end());
for(int i=0;i<vec.size();i++)
cout<<vec[i]<<" ";
cout<<endl;
}
return 0;
}
第十题
多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符,n<100
输出 对于每组用例输出一行排序后的字符串,用’,'隔开,无结尾空格
输入
a,c,bb
f,dddd
nowcode
输出
a,bb,c
dddd,f
nowcoder
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
while(getline(cin, s))
{
stringstream ss;
ss<<s;
string temp;
vector<string> vec;
while(getline(ss, temp,','))
{
vec.push_back(temp);
}
sort(vec.begin(), vec.end());
for(int i=0;i<vec.size();i++)
{
if(i!=vec.size()-1)
cout<<vec[i]<<",";
else
cout<<vec[i]<<endl;
}
}
return 0;
}