ACM模式常见输入输出练习(C++代码)

2022/3/21 20:27:33

本文主要是介绍ACM模式常见输入输出练习(C++代码),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

ACM模式常见输入输出练习

1、a+b(1)

输入描述

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

输出描述

输出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;
    }
    return 0;
}

2、a+b(2)

输入描述

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

输出描述

输出a+b的结果

输入输出示例

输入

2
1 5
10 20

输出

6
30

代码

#include <iostream>
using namespace std;

int main(){
    int a,b;
    int n;
    while(n--){
        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 5
10 20
0 0

输出

6
30

代码

#include <iostream>
using namespace std;

int main(){
    int a,b;
    while(cin>>a>>b){
        if(a == 0 && b == 0){
            return 0;
        }
        cout<<(a+b)<<endl;
    }
    return 0;
}

4、a+b(4)

输入描述

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

5、a+b(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,k;
    cin >> k;
    while(k--){
        while(cin>>n){
            int nums[n];
            int sum = 0;
            for(int i = 0; i < n; i++){
                cin >> nums[i];
                sum += nums[i];
            }
            cout << sum << endl;
        }
    }
    return 0;
}

6、a+b(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 nums[n];
        int sum = 0;
        for(int i = 0; i < n; i++){
            cin >> nums[i];
            sum += nums[i];
        }
        cout << sum << endl;
    }
    return 0;
}

7、a+b(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 a;
    int sum = 0;
    while(cin >> a){        
        sum += a;
        if(getchar() == '\n'){
            cout << sum << endl;
            sum = 0;
        }
    }
    return 0;
}

8、字符串排序(1)

输入描述

输入有两行,第一行n

第二行是n个字符串,字符串之间用空格隔开

输出描述

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

输入输出示例

输入

5
c d a bb e

输出

a bb c d e

代码

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>

int main(){
    int n;
    cin >> n;
    vector<string> v;
    string s;
    while(n--){
        cin >> s;
        v.push_back(s);
    }
    sort(v.begin(),v.end());
    for(int i = 0; i < v.size(); i++){
        cout << v[i] <<" ";
    }
    return 0;
}

9、字符串排序(2)

输入描述

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

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

输出描述

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

输入输出示例

输入

a c bb
f dddd
nowcoder

输出

a bb c
dddd f
nowcoder

代码

#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>

int main(){
    vector<string> v;
    string s;
    while(cin >> s){
        v.push_back(s);
        if(getchar() == '\n'){
            sort(v.begin(),v.end());
            for(int i = 0; i < v.size(); i++){
                cout << v[i] <<" ";
            }
            cout<<endl;
            v.clear();
        }
    }
    return 0;
}

10、字符串排序(3)

输入描述

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

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

输出描述

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

输入输出示例

输入

a,c,bb
f,dddd
nowcoder

输出

a,bb,c
dddd,f
nowcoder

代码

#include <iostream>
using namespace std;
#include <sstream>
#include <vector>
#include <algorithm>

int main(){
    vector<string> v;
    string str;
    while(getline(cin,str)){
        stringstream ss(str);//定义流对象 复制str到ss
        while(getline(ss, str, ',')){//分隔符, 从流ss中取字符到str
            v.push_back(str);
        }
        sort(v.begin(),v.end());
        for(int i = 0; i < v.size()-1; i++){
            cout << v[i] <<",";
        }
        cout<<v[v.size()-1]<<endl;
        v.clear();
    }
    return 0;
}


这篇关于ACM模式常见输入输出练习(C++代码)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程