C++ 计算整数之和:完整代码及解题思路

问题描述: 输入包含多组测试用例。每组测试用例包含一个整数 N,然后在同一行中给出 N 个整数。以 0 开始的测试用例终止输入,此测试用例不进行处理。

输出: 对于每组输入整数,您应该在一行中输出它们的总和,并且每行输入对应一行输出。

解题思路: 每组数据都有多个整数,需要将它们相加求和。因为每个数据组都是独立的,所以可以用一个 while 循环来实现多组数据输入,用一个内层循环来对每组数据进行求和。

注意:

  1. 每组数据的第一个整数表示该组数据中后面要输入的整数个数,需要将其读取并保存到变量 n 中。
  2. 每组数据输入完毕后需要输出一行空行。

参考代码:

#include <iostream>
using namespace std;

int main() {
    int n, sum;
    while (true) {
        cin >> n;
        if (n == 0) break;
        sum = 0;
        for (int i = 0; i < n; i++) {
            int num;
            cin >> num;
            sum += num;
        }
        cout << sum << endl << endl;
    }
    return 0;
}

代码解释:

  1. #include <iostream>: 引入标准输入输出流库。
  2. using namespace std;: 使用标准命名空间。
  3. int main(): 程序的主函数。
  4. int n, sum;: 声明两个整型变量 n 和 sum,分别用于存储输入的整数个数和每组数据的总和。
  5. while (true) { ... }: 使用一个无限循环来处理多组数据。
  6. cin >> n;: 读取每组数据的第一个整数,即整数个数,并存储到 n 中。
  7. if (n == 0) break;: 如果读取到 0,则跳出循环,结束程序。
  8. sum = 0;: 初始化 sum 为 0,用于累加每组数据的整数。
  9. for (int i = 0; i < n; i++) { ... }: 使用一个 for 循环读取每组数据中的所有整数。
  10. int num;: 声明一个整型变量 num,用于存储每次读取的整数。
  11. cin >> num;: 读取每个整数,并存储到 num 中。
  12. sum += num;: 将读取的整数加到 sum 中。
  13. cout << sum << endl << endl;: 输出每组数据的总和,并在输出后换行两次。
  14. return 0;: 程序正常退出。

运行结果: 当输入 3 1 2 3 回车 4 5 6 7 8 回车 0 回车 时,程序会输出:

6

26

总结: 本代码利用了 while 和 for 循环来实现多组数据的输入和处理,并通过变量 sum 累加每组数据的整数,最终输出每组数据的总和。该程序结构清晰,易于理解,适合初学者学习和练习。


原文地址: https://www.cveoy.top/t/topic/oMqA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录