酷代码 AI
菜单

c++ 禾木和小核桃在迷宫角落里发现了n个箱子(n不超过20),和一把钥匙。每个箱子中都有一些玄铁石。只有当一个箱子的玄铁石数量,是钥匙上的数字的倍数时,禾木和小核桃才能把这个箱子里的玄铁石拿走。请你编写程序,计算他们总共能拿走多少玄铁石。 输入: 共三行。 第一行为一个整数n(n<=20),表示箱子的数量。 第二行为n个整数,表示每个箱子中的玄铁石数量。 第三行为一个整数x,表示钥匙上的数字。 输出: 一个整数,表示禾木和小核桃一共能拿走的玄铁石数量。

```cpp #include <iostream> using namespace std; int main() { int n; // 输入箱子的数量 cin >> n; int stones[20]; // 循环输入每个箱子中的玄铁石数量 for (int i = 0; i < n; i++) { cin >> stones[i]; } int x; // 输入钥匙上的数字 cin >> x; int total = 0; // 遍历每个箱子 for (int i = 0; i < n; i++) { // 判断箱子中的玄铁石数量是否是钥匙数字的倍数 if (stones[i] % x == 0) { // 如果是倍数,则将该箱子的玄铁石数量累加到总数中 total += stones[i]; } } // 输出总共能拿走的玄铁石数量 cout << total << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 注意数组的大小,这里题目限定了箱子数量不超过20,所以数组大小定义为20,但如果后续需求有变化,要相应调整数组大小。 2. 输入数据时要确保输入的数据类型和顺序与程序期望的一致,否则可能导致程序运行出错。 3. 在判断倍数关系时,使用取模运算符`%`,要注意其使用场景和可能出现的边界情况,比如除数为0的情况,本题中钥匙数字不会为0,但如果需求有变化要考虑这种情况。 [2025-11-21 19:21:17 | AI写代码神器 | 370点数解答]

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