酷代码 AI
菜单

黑衣人让陆凯船长把箱子按照重量分好类,如果箱子重量是x的倍数就放在船尾。请你编写一个程序,计算放在船尾的箱子的重量总和。使用c++语音

以下是一个用 C++ 编写的程序,用于计算放在船尾的箱子的重量总和。假设我们已知箱子的数量、每个箱子的重量以及倍数 `x`。 ```cpp #include <iostream> // 计算放在船尾的箱子的重量总和 int calculateTotalWeight(int numBoxes, int x, int weights[]) { int totalWeight = 0; for (int i = 0; i < numBoxes; ++i) { if (weights[i] % x == 0) { totalWeight += weights[i]; } } return totalWeight; } int main() { int numBoxes; // 箱子的数量 int x; // 倍数 // 输入箱子的数量和倍数 std::cout << "请输入箱子的数量: "; std::cin >> numBoxes; std::cout << "请输入倍数 x: "; std::cin >> x; int *weights = new int[numBoxes]; // 动态分配数组来存储每个箱子的重量 // 输入每个箱子的重量 std::cout << "请依次输入每个箱子的重量: "; for (int i = 0; i < numBoxes; ++i) { std::cin >> weights[i]; } // 计算放在船尾的箱子的重量总和 int totalWeight = calculateTotalWeight(numBoxes, x, weights); // 输出结果 std::cout << "放在船尾的箱子的重量总和是: " << totalWeight << std::endl; // 释放动态分配的内存 delete[] weights; return 0; } ``` 代码说明: 1. `calculateTotalWeight` 函数:该函数接受箱子的数量 `numBoxes`、倍数 `x` 和存储每个箱子重量的数组 `weights` 作为参数。通过遍历数组,检查每个箱子的重量是否是 `x` 的倍数,如果是,则将其重量累加到 `totalWeight` 中。最后返回 `totalWeight`。 2. `main` 函数: - 首先,从用户输入中获取箱子的数量 `numBoxes` 和倍数 `x`。 - 然后,动态分配一个大小为 `numBoxes` 的数组 `weights`,用于存储每个箱子的重量。 - 接着,从用户输入中获取每个箱子的重量,并存储到数组 `weights` 中。 - 调用 `calculateTotalWeight` 函数计算放在船尾的箱子的重量总和。 - 输出结果并释放动态分配的内存。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是箱子的数量。因为需要遍历数组一次。 - 空间复杂度:$O(n)$,主要用于存储每个箱子的重量。 [2025-11-23 13:30:50 | AI问答 | 660点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多