OJ在线编程常见输入输出练习(C++)

本文解析了十个关于整数加法的问题,涉及不同输入格式和数据处理场景,提供C++和Python代码实现,适用于基础到进阶的编程练习。从单一输入到多组数据处理,以及特殊输入条件的应对,全面覆盖常见场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一题

题目

输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。
输出描述:
输出a+b的结果
示例1
输入

1 5
10 20

输出

6
30

题解

#include<iostream>
using namespace std;

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

第二题

题目

输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100)
接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)
输出描述:
输出a+b的结果
示例1
输入

2
1 5
10 20

输出

6
30

题解

#include<iostream>
using namespace std;

int main()
{
    int k,a,b;
    while(cin>>k)
    {
        for(int i=0;i<k;i++)
        {
            cin>>a>>b;
            cout<<a+b<<endl;
        }
    }
}

第三题

题目

输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出描述:
输出a+b的结果
示例1
输入

1 5
10 20
0 0

输出

6
30

题解

#include<iostream>
using namespace std;

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

第四题

题目

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

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) break;
        int tmp;
        int result=0;
        for(int i=0;i<n;i++)
        {
            cin>>tmp;
            result+=tmp;
        }
        cout<<result<<endl;
    }
    return 0;
}

第五题

题目

输入的第一行包括一个正整数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

题解

#include <iostream>
using namespace std;

int main()
{
    int k;
    while (cin >> k)
    {
        for (int i = 0; i < k; i++)
        {
            int n, a,sum=0;
            cin >> n;
            for (int j = 0; j < n; j++)
            {
                cin >> a;
                sum += a;
            }
            cout << sum << endl;
        }
        return 0;
    }
}

第六题

题目

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

4 1 2 3 4
5 1 2 3 4 5

输出

10
15

题解

#include <iostream>
using namespace std;

int main()
{
    int k;
    while(cin>>k)
    {
        int a,sum=0;
        for(int i=0;i<k;i++)
        {
            cin>>a;
            sum+=a;
        }
        cout<<sum<<endl;
    }
}

第七题

题目

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

每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出描述:
每组数据输出求和的结果
示例1
输入

1 2 3
4 5
0 0 0 0 0

输出

6
9
0

题解

#include <iostream>
using namespace std;

int main()
{
    int k,ans=0;
    while(cin>>k)
    {
        ans+=k;
        if(cin.get()=='\n')
        {
            cout<<ans<<endl;
            ans=0;
        }
    }
}

第八题

题目

输入有两行,第一行n

第二行是n个空格隔开的字符串
输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格
示例1
输入

5
c d a bb e

输出

a bb c d e

题解

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
    int k = 0;
    while (cin >> k)
    {
        vector<string> str;
        for (int i = 0; i < k; i++)
        {
            string temp;
            cin >> temp;
            str.push_back(temp);
        }
        sort(str.begin(), str.end());
        for (int i = 0; i < k; i++)
        {
            cout << str[i];
            if (i < k - 1) 
                cout << " ";
        }
        cout << endl;
    }
    return 0;
}

第九题

题目

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

每行通过空格隔开,有n个字符,n<100
输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
示例1
输入

a c bb
f dddd
nowcoder

输出

a bb c
dddd f
nowcoder

题解

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
	string temp;
	vector<string> str;
	while (cin >> temp)
	{
		str.push_back(temp);
		if (cin.get() == '\n')
		{
			sort(str.begin(), str.end());
			for (int k = 0; k < str.size(); k++)
			{
				cout << str[k];
				if (k < str.size() - 1) cout << " ";
			}
			cout << endl;
			str.clear();
		}
	}
}

第十题

题目

多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符,n<100
输出描述:
对于每组用例输出一行排序后的字符串,用’,'隔开,无结尾空格
示例1
输入

a,c,bb
f,dddd
nowcoder

输出

a,bb,c
dddd,f
nowcoder

题解

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <sstream>

using namespace std;

int main()
{
	string s;
	vector<string> temp;
	while (getline(cin, s))
	{
		stringstream ss;
		string str;
		ss << s;
		while (getline(ss, str, ','))
		{
			temp.push_back(str);
		}
		sort(temp.begin(), temp.end());
		for (int i = 0; i < temp.size(); i++)
		{
			cout << temp[i];
			if (i < temp.size()-1) cout << ",";
		}
		cout << endl;
		temp.clear();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值