C++在线编程常见输入输出

圣彼得堡地铁站 -- 俄罗斯 🐻🔈乌拉乌拉!
​​

C++在线编程常见输入输出

📖 参考资料牛客OJ在线编程常见输入输出练习场

1. A + B (1)

输入描述

输入包括两个正整数a, b(1 <= a, b <= 10^9),输入数据包括多组。

输出描述

输出 a + b 的结果

输入例子1:

1 5

10 20

输出结果1:

6

30


1
2
3
4
5
6
7
8
9
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) {
cout << a + b << endl;
}
return 0;
}

2. A + B (2)

输入描述

输入第一行包括一个数据组数 t (1 <= t <= 100)
接下来每行包括两个正整数 a ,b(1 <= a, b <= 10^9)

输出描述

输出 a + b 的结果


输入例子1:

2

1 5

10 20

输出结果1:

6

30


1
2
3
4
5
6
7
8
9
10
11
#include <bits/stdc++.h>
using namespace std;
int main() {
int t, a, b;
cin >> t;
for (int i = 0; i < t; i++) {
cin >> a >> b;
cout << a + b << endl;
}
return 0;
}

3. A + B (3)

输入描述

输入包括两个正整数a, b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为 0 0 则结束输入

输出描述

输出 a + b 的结果


输入例子1:

1 5

10 20

0 0

输出结果1:

6

30


1
2
3
4
5
6
7
8
9
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b && a || b) {
cout << a + b << endl;
}
return 0;
}

4. A + B (4)

输入描述

输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数 n (1 <= n <= 100), n 为 0 的时候结束输入。
接下来 n 个正整数,即需要求和的每个正整数。

输出描述

每组数据输出求和的结果


输入例子1:

4 1 2 3 4
5 1 2 3 4 5
0

输出结果1:

10

15


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, temp;
long long sum; // 如果存在累加,最好考虑 int 超限的情况,使用long long
while (cin >> n && n) {
sum = 0;
while (n--) {
cin >> temp;
sum += temp;
}
cout << sum << endl;
}
return 0;
}

5. A + B (5)

输入描述

输入的第一行包括一个正整数 t (1 <= t <= 100), 表示数据组数。
接下来 t 行, 每行一组数据。
每行的第一个整数为整数的个数 n (1 <= n <= 100)。
接下来 n 个正整数, 即需要求和的每个正整数。

输出描述

每组数据输出求和的结果


输入例子1:

2
4 1 2 3 4
5 1 2 3 4 5

输出结果1:

10

15


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, temp, t;
long long sum;
cin >> t;
for (int i = 0; i < t; i++) {
while (cin >> n) {
sum = 0;
while (n--) {
cin >> temp;
sum += temp;
}
cout << sum << endl;
}
}
return 0;
}

6. A + B (6)

输入描述

输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数 n (1 <= n <= 100)。
接下来 n 个正整数, 即需要求和的每个正整数。

输出描述

每组数据输出求和的结果


输入例子1:

4 1 2 3 4
5 1 2 3 4 5

输出结果1:

10

15


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 与 4 代码基本相同
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, temp;
long long sum;
while (cin >> n) {
sum = 0;
while (n--) {
cin >> temp;
sum += temp;
}
cout << sum << endl;
}
return 0;
}

7. A + B (7)

输入描述

输入数据有多组, 每行表示一组输入数据。

每行不定有 n 个整数,空格隔开。(1 <= n <= 100)。

输出描述

每组数据输出求和的结果


输入例子1:

1 2 3
4 5
0 0 0 0 0

输出结果1:

6

9

0


1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <bits/stdc++.h>
using namespace std;
int main() {
int temp;
long long sum;
while (cin >> sum) { // 先输入第一个数
while (cin.get() != '\n') {
cin >> temp;
sum += temp;
}
cout << sum << endl;
}
return 0;
}

8. 字符串排序(1)

输入描述

输入有两行,第一行 n

第二行是 n 个空格隔开的字符串

输出描述

输出一行排序后的字符串,空格隔开,无结尾空格


输入例子1:

5
c d a bb e

输出结果1:

a bb c d e


方法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
string temp;
vector<string> vec;
cin >> n;
while (n--) {
cin >> temp;
vec.push_back(temp);
}
sort(vec.begin(), vec.end());
for (auto v : vec) {
cout << v << ' ';
}
cout << endl;
return 0;
}

方法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
string temp, str;
vector<string> vec;
cin >> n; // 此时输入的 n 没有用,只是为了输入格式要求
while (cin >> str) { // 可以针对 n 为任意情况,且不需要手动输入
stringstream ss(str); // 使用 stringstream 对象来完成
while (getline(ss, temp, ' ')) // getline 以 空格为间隔
vec.push_back(temp);
if (cin.get() == '\n') break;
}
sort(vec.begin(), vec.end());
for (auto v : vec) {
cout << v << ' ';
}
cout << endl;
return 0;
}

9. 字符串排序(2)

输入描述

多个测试用例,每个测试用例一行。

每行通过空格隔开,有 n 个字符,n<100

输出描述

输出一行排序后的字符串,空格隔开,无结尾空格


输入例子1:

a c bb
f dddd
nowcoder

输出结果1:

a bb c
dddd f
nowcoder


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
int main() {
string temp, str;
vector<string> vec;
while (cin >> str) {
stringstream ss(str);
while (getline(ss, temp, ' ')) {
vec.push_back(temp);
}
if (cin.get() == '\n') {
sort(vec.begin(), vec.end());
for (auto v : vec) cout << v << ' ';
cout << endl;
vec.clear();
ss.clear();
}
}
return 0;
}

10. 字符串排序(3)

输入描述

多个测试用例,每个测试用例一行。

每行通过空格隔开,有 n 个字符,n<100

输出描述

对于每组用例输出一行排序后的字符串,用’ , '隔开,无结尾空格


输入例子1:

a,c,bb
f,dddd
nowcoder

输出结果1:

a,bb,c
dddd,f
nowcoder


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <bits/stdc++.h>
using namespace std;
int main() {
string str, temp;
vector<string> vec;
while (cin >> str) {
stringstream ss(str);
while (getline(ss, temp, ',')) vec.push_back(temp);
if (cin.get() == '\n') {
sort(vec.begin(), vec.end());
string s;
for (auto v : vec) s.append(v + ','); s.pop_back();
cout << s << endl;
vec.clear();
ss.clear();
}
}
return 0;
}


----------- 本文结束 -----------




0%