酷代码 AI
菜单
服务商

C++ 实现统计数列中满足特定范围的整数个数及求和

以下是一个用 C++ 实现的程序,用于统计数列中满足大于 `x` 且小于 `y` 的整数个数,并计算这些整数的和: ```cpp #include <iostream> #include <vector> // 函数用于统计满足条件的整数个数并计算它们的和 std::pair<int, int> countAndSum(const std::vector<int>& numbers, int x, int y) { int count = 0; // 初始化满足条件的整数个数 int sum = 0; // 初始化满足条件的整数之和 // 遍历数列中的每个整数 for (int num : numbers) { // 检查当前整数是否满足大于 x 且小于 y 的条件 if (num > x && num < y) { count++; // 满足条件,个数加 1 sum += num; // 满足条件,累加到和中 } } return {count, sum}; // 返回满足条件的整数个数和它们的和 } int main() { int n; std::cout << "请输入数列的长度: "; std::cin >> n; // 输入数列的长度 std::vector<int> numbers(n); std::cout << "请输入数列中的 " << n << " 个整数: "; for (int i = 0; i < n; i++) { std::cin >> numbers[i]; // 输入数列中的每个整数 } int x, y; std::cout << "请输入 x 和 y 的值: "; std::cin >> x >> y; // 输入 x 和 y 的值 // 调用 countAndSum 函数进行统计和求和 auto result = countAndSum(numbers, x, y); int count = result.first; int sum = result.second; std::cout << "满足大于 " << x << " 且小于 " << y << " 的整数个数为: " << count << std::endl; std::cout << "这些整数的和为: " << sum << std::endl; return 0; } ``` ### 代码解释: 1. **`countAndSum` 函数**: - 该函数接受一个整数向量 `numbers` 以及两个整数 `x` 和 `y` 作为参数。 - 使用 `for` 循环遍历向量中的每个整数,检查其是否满足大于 `x` 且小于 `y` 的条件。 - 如果满足条件,则将计数器 `count` 加 1,并将该整数累加到 `sum` 中。 - 最后返回一个 `std::pair`,包含满足条件的整数个数和它们的和。 2. **`main` 函数**: - 首先,用户需要输入数列的长度 `n`。 - 然后,用户需要输入数列中的 `n` 个整数。 - 接着,用户需要输入 `x` 和 `y` 的值。 - 调用 `countAndSum` 函数进行统计和求和,并将结果存储在 `result` 中。 - 输出满足条件的整数个数和它们的和。 ######[AI问答 | 752点数解答 | 2026-05-17 19:13:03]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]