OJ ACM模式常见输入输出代码(牛客练习)


点击跳转: 牛客输入输出练习场

1.输入不定行,每行2个整数

  • 输入描述:

输入包括两个正整数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;
    while(cin >> a >> b){
        cout << a + b << endl;
    }
}

2.先输入t,然后输入t行,每行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, a,b;
    cin >> n;
    for(int i=0; i < n;i++){
        cin >> a >> b;
        cout << a + b << endl;
    }   
}

3.输入不定行,每行2个整数,输入0 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(true){
        cin >> a >> b;
        if(a == 0 && b == 0) return 0;
        cout << a + b << endl;
    }
}

4.输入不定行,每行第一个数n代表本行输入个数,输入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(true){
        int sum = 0;
        cin >> n;
        if(n == 0) return 0;
        for(int i = 0;i < n;i++){
            int tmp;
            cin >> tmp;
            sum += tmp;
        }
        cout << sum << endl;
    }
}

5.先输入t,然后输入t行,每行第一个数n代表本行输入个数

  • 输入描述:

输入的第一行包括一个正整数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;
    for(int i = 0;i < n;i ++){
        int k;
        cin >> k;
        int sum = 0;
        for(int j = 0; j < k; j++){
            int tmp;
            cin >> tmp;
            sum += tmp;
        }
        cout << sum << endl;
    }
}

6.输入不定行,每行第一个数n代表本行输入个数

  • 输入描述:

输入数据有多组, 每行表示一组输入数据。
每行的第一个整数为整数的个数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;
        for(int i = 0;i < n; ++i){
            int tmp;
            cin >> tmp;
            sum += tmp;
        }
        cout << sum << endl;
    }
}

7.输入不定行,每行不定个

  • 输入描述:

输入数据有多组, 每行表示一组输入数据。
每行不定有n个整数,空格隔开。(1 <= n <= 100)。

  • 输出描述:

每组数据输出求和的结果

  • 示例:

输入:

1 2 3
4 5
0 0 0 0 0

输出:

6
9
0

#include<iostream>
using namespace std;
int main(){
    int tmp;
    int n;
    int sum = 0;
    while(cin >> tmp){
        sum = 0;
        sum += tmp;
        while(getchar() != '\n'){
            cin >> tmp;
            sum += tmp;
        }
        cout << sum << endl;
    }
}

8.输入2行,第一行为n,代表第2行的元素个数

  • 输入描述:

输入有两行,第一行n
第二行是n个空格隔开的字符串

  • 输出描述:

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

  • 示例:

输入:

5
c d a bb e

输出:

a bb c d e

#include<iostream>
#include<vector>
#include<string>
#include <algorithm>
using namespace std;
int main(){
    int n;
    cin >> n;
    vector<string> v(n);
    string s;
    for(int i = 0;i < n; ++ i){
        cin >> s;
        v[i] = s;
    }
    sort(v.begin(), v.end());
    
    for(auto iterator = v.begin();iterator != v.end(); ++iterator){
        cout << *iterator << " ";
    }
}

9.输入不定行,每行不定个

  • 输入描述:

多个测试用例,每个测试用例一行。
每行通过空格隔开,有n个字符,n<100

  • 输出描述:

对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开

  • 示例:

输入:

a c bb
f dddd
nowcoder

输出:

a bb c
dddd f
nowcoder

#include<iostream>
#include<vector>
#include<string>
#include <algorithm>
using namespace std;
int main(){
    string s;
    vector<string> v;
    while(cin >> s){
        v.push_back(s);
        while(getchar() != '\n'){
            cin >> s;
            v.push_back(s);
        }
        sort(v.begin(), v.end());
        for(int i = 0;i < v.size(); ++i) {
            if(i == v.size()-1) cout << v[i];
            else cout << v[i] << " ";
        }
        v.clear();
        cout << '\n';
    }    
}

10.输入不定行,每行不定个,逗号间隔

  • 输入描述:

多个测试用例,每个测试用例一行。
每行通过逗号隔开,有n个字符,n<100

  • 输出描述:

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

  • 示例:

输入:

a,c,bb
f,dddd
nowcoder

输出:

a,bb,c
dddd,f
nowcoder

#include<iostream>
#include<vector>
#include<string>
#include <algorithm>
#include<sstream>
using namespace std;
int main(){
    string line;
    string item;
    vector<string> v;
    while(getline(cin, line)){
        stringstream ss(line);
        while(getline(ss,item,',')){
            v.push_back(item);
        }
        sort(v.begin(), v.end());
        for(int i = 0;i < v.size(); ++i) {
            if(i == v.size()-1) cout << v[i];
            else cout << v[i] << ",";
        }
        v.clear();
        cout << '\n'; 
    }
}
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值