1.
计算a+b
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 1000),输入数据包括多组。
输出描述:
输出a+b的结果
示例1
输入例子:
1 5 10 20
输出例子:
6 30
C++:
#include <iostream>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) { // 注意 while 处理多个 case
cout << a + b << endl;
}
}
// 64 位输出请用 printf("%lld")
Python:
import sys
for line in sys.stdin:
a=line.split()
print(int(a[0])+int(a[1]))
2.
输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100) 接下来每行包括两个正整数a,b(1 <= a, b <= 1000)
输出描述:
输出a+b的结果
示例1
输入例子:
2 1 5 10 20
输出例子:
6 30
C++:
#include <iostream>
using namespace std;
int main() {
int n, a, b;
cin >> n;
while(n--){
while (cin >> a >> b) { // 注意 while 处理多个 case
cout << a + b << endl;
}
}
}
// 64 位输出请用 printf("%lld")
Python:
n = int(input())
while n:
n -= 1
line = input()
a = line.split()
print(int(a[0]) + int(a[1]))
3.
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出描述:
输出a+b的结果
示例1
输入例子:
1 5 10 20 0 0
输出例子:
6 30
C++:
#include <iostream>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) { // 注意 while 处理多个 case
if (a==0 && b==0) break;
cout << a + b << endl;
}
}
// 64 位输出请用 printf("%lld")
Python:
while 1:
line = input()
a = line.split()
if a[0]=='0' and a[1]=='0':
break
else:
print(int(a[0]) + int(a[1]))
4.
输入描述:
输入数据包括多组。 每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。 接下来n个正整数,即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入例子:
4 1 2 3 4 5 1 2 3 4 5 0
输出例子:
10 15
C++:
#include <iostream>
using namespace std;
int main() {
int n, a, b;
while (cin >> n) { // 注意 while 处理多个 case
int k, ans = 0;
if (n != 0) {
for (int i = 0; i < n; i++) {
cin >> k;
ans += k;
}
} else break;
cout << ans << endl;
}
}
Python:
while 1:
line = input()
a = line.split()
ans = 0
if a[0]!='0':
for i in a[1:]:
ans+=int(i)
else:
break
print(ans)
5.
输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。 接下来t行, 每行一组数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入例子:
2 4 1 2 3 4 5 1 2 3 4 5
输出例子:
10 15
C++:
#include <iostream>
using namespace std;
int main() {
int n, t, a, b;
cin >> n;
while (n--) {
cin >> t;
int k, ans=0;
for(int i=0;i<t;i++){
cin >> k;
ans+=k;
}
cout << ans << endl;
}
}
Python:
time=int(input())
while time:
time-=1
line = input()
a = line.split()
ans = 0
if a[0]!='0':
for i in a[1:]:
ans+=int(i)
else:
break
print(ans)
6.
输入描述:
输入数据有多组, 每行表示一组输入数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入例子:
4 1 2 3 4 5 1 2 3 4 5
输出例子:
10 15
C++:
#include <iostream>
using namespace std;
int main() {
int n, a, b;
while (cin >> n) { // 注意 while 处理多个 case
int k, ans = 0;
if (n != 0)
for (int i = 0; i < n; i++) {
cin >> k;
ans += k;
}
cout << ans << endl;
}
}
Python:
import sys
for line in sys.stdin:
a = line.split()
ans = 0
for i in a[1:]:
ans += int(i)
print(ans)
7.
输入描述:
输入数据有多组, 每行表示一组输入数据。 每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出描述:
每组数据输出求和的结果
示例1
输入例子:
1 2 3 4 5 0 0 0 0 0
输出例子:
6 9 0
C++:
#include <bits/stdc++.h>
using namespace std;
int main() {
int tmp, sum = 0,ele = 0;
while (cin >> ele) {
sum += ele;
if (cin.get() == '\n') {
cout << sum << endl;
sum = 0;
}
}
return 0;
}
//#include<bits/stdc++.h>
//using namespace std;
//
//int main(){
// string s;
// while(getline(cin,s)){
// stringstream ss(s);
// string num;
// int sum=0;
// while(getline(ss,num,' ')){
// sum+=stoi(num);
// }
// cout<<sum<<endl;
// }
// return 0;
//}
c++ stringstream ss(): https://blog.csdn.net/wesigj/article/details/108959219
Python:
import sys
for line in sys.stdin:
ans = 0
a = line.split()
for i in a:
ans+=int(i)
print(ans)
8.
输入描述:
输入有两行,第一行n 第二行是n个字符串,字符串之间用空格隔开
输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格
示例1
输入例子:
5 c d a bb e
输出例子:
a bb c d e
C++:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<string> vec;
int n;
cin >> n;
while (n--) {
string s;
cin >> s;
vec.push_back(s);
}
sort(vec.begin(), vec.end());
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << ' ';
}
return 0;
}
sort函数降序:sort(vec.rbegin(), vec.rend())
Python:
n = int(input())
strs = [x for x in input().split()]
print(' '.join(sorted(strs)))
函数sorted: sorted(iterable, cmp=None, key=None, reverse=False)
- iterable -- 可迭代对象。
- cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
9.
输入描述:
多个测试用例,每个测试用例一行。 每行通过空格隔开,有n个字符,n<100
输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
示例1
输入例子:
a c bb f dddd nowcoder
输出例子:
a bb c dddd f nowcoder
C++:
#include <iostream>
#include <sstream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
vector<string> vec;
string s;
while(cin>>s){
vec.push_back(s);
if (cin.get()=='\n'){ //回车代表已经输入了一行
sort(vec.begin(),vec.end());
for (auto vs:vec){
cout << vs << ' ';
}
cout<<endl;
vec.clear();
}
}
}
// 64 位输出请用 printf("%lld")
Python:
while True:
try:
s=input().split()
s.sort()
print(' '.join(s))
except:
break
10.
输入描述:
多个测试用例,每个测试用例一行。 每行通过,隔开,有n个字符,n<100
输出描述:
对于每组用例输出一行排序后的字符串,用','隔开,无结尾空格
示例1
输入例子:
a,c,bb f,dddd nowcoder
输出例子:
a,bb,c dddd,f nowcoder
C++:
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<string> vec;
string s;
while(getline(cin,s)){
int start=0;
for (int i=0;i<s.size();i++){
if (s[i]==','){
string a=s.substr(start,i-start); //如果这里像下面一样加了1的话,就会连‘,’也放了进来
vec.push_back(a);
start=i+1;
}
if (i==s.size()-1){
string a=s.substr(start,i+1-start);
vec.push_back(a);
}
}
sort(vec.begin(),vec.end());
for (int j=0;j<vec.size()-1;j++){
cout << vec[j] << ',';
}
cout << vec[vec.size()-1] << endl;
vec.clear();
}
}
Python:
while True:
try:
s=input().split(',')
s.sort()
print(','.join(s))
except:
break
11.
数据范围: 0<a,b<2×10^10
输入描述:
输入有多组测试用例,每组空格隔开两个整数
输出描述:
对于每组数据输出一行两个整数的和
示例1
输入例子:
1 1
输出例子:
2
C++:
#include <iostream>
using namespace std;
int main() {
long long a, b;
while (cin >> a >> b) { // 注意 while 处理多个 case
cout << a + b << endl;
}
}
Python:
import sys
for line in sys.stdin:
a=line.split()
print(int(a[0])+int(a[1]))