C/C++基础算法题:多组A+B

题目描述-1

分别计算多组a+b的值。

输入

输入包含多组测试数据。每行包含一组整数a,b。当输入为0 0 时,测试结束,此时的结果不输出。

输出

对于每一对整数a,b,输出它们的和,并且每行输出一个结果。

样例输入

1 5

10 20

0 0

样例输出

6

30

#include <iostream>
using namespace std;
int main()
{
	int n = 0;//定义一个统计a和b都不为0的组数,并初始化
	int a[100], b[100];//分别给a和b定义静态一维数组
	for (int i = 0;; i++)//由于存储的组数n未知,故不写i<n,直接i++累加
	{
		cin >> a[i] >> b[i];//循环输入a和b,存入一维数组中
		n++;//每存入一次a和b,组数+1
		if (a[i] == 0 && b[i] == 0)//如果a和b输入0 0时 退出循环
		{
			break;
		}
	}
	for (int i = 0; i < n - 1; i++)//由于当输入0 0时,此时的结果不输出,故第n个不输出
	{
		cout << a[i] + b[i] << endl;//for循环输出a+b的和
	}
}

调试结果如下:

题目描述-2

分别计算多组a+b的值。

输入

第一行包含一个整数N,表示有N组数据。接下来的N行,每行输入一组a,b数据。

输出

对于每一对整数a,b,输出它们的和,并且每行输出一个结果。

样例输入

2

1 5

10 20

样例输出

6

30

#include <iostream>
using namespace std;
int main()
{
    int N, n = 0;
    int a[100], b[100];
    cin >> N;
    for (int i = 0;; i++)
    {
        cin >> a[i] >> b[i];
        n++;
        if (n == N)//由于N是确定的,N为多少,则a和b的组数也为多少
        {
            break;//当组数等于定义的N行数,退出循环
        }
    }
    for (int i = 0; i < n; i++)
    {
        cout << a[i] + b[i] << endl;
    }
}

调试结果如下:

由于是两个普通的算法题,在这里希望可以帮助到那些打基础的朋友们。

所以没有使用动态数组,而是定义了一个固定空间的静态数组,使得输入数据上有很大的局限性,以及不灵活等现象。

猜你喜欢

转载自blog.csdn.net/dislike_carry/article/details/128732075