酷代码 AI
菜单

奥兹玛之心发来的信号是一串蓝色数字,和一个单独的红色数字。小队需要编写程序,计算一个新的数字发送给奥兹玛之心。程序需要依次检查每一个蓝色数字。先检查蓝色数字是不是红色数字的3倍,如果是,就把蓝色数字乘以3计入总和。否则,再检查蓝色数字是不是红色数字的5倍,如果是,就把蓝色数字乘以5计入总和。如果也不是红色数字的5倍,就再检查蓝色数字是不是红色数字的7倍,如果是,就把蓝色数字乘以7计入总和。如果以上都不满足,就把蓝色数字乘以11计入总和。c++

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <vector> // 计算要发送给奥兹玛之心的新数字 int calculateNewNumber(const std::vector<int>& blueNumbers, int redNumber) { int total = 0; // 遍历每一个蓝色数字 for (int blueNumber : blueNumbers) { if (blueNumber == redNumber * 3) { total += blueNumber * 3; } else if (blueNumber == redNumber * 5) { total += blueNumber * 5; } else if (blueNumber == redNumber * 7) { total += blueNumber * 7; } else { total += blueNumber * 11; } } return total; } int main() { std::vector<int> blueNumbers; int redNumber; int num; // 输入蓝色数字,输入 -1 表示结束输入 std::cout << "请输入蓝色数字(输入 -1 结束输入):" << std::endl; while (true) { std::cin >> num; if (num == -1) { break; } blueNumbers.push_back(num); } // 输入红色数字 std::cout << "请输入红色数字:" << std::endl; std::cin >> redNumber; // 计算新数字 int newNumber = calculateNewNumber(blueNumbers, redNumber); // 输出结果 std::cout << "要发送给奥兹玛之心的新数字是:" << newNumber << std::endl; return 0; } ``` 代码说明: 1. `calculateNewNumber` 函数:该函数接受一个存储蓝色数字的向量 `blueNumbers` 和一个红色数字 `redNumber` 作为参数。函数内部遍历 `blueNumbers` 中的每一个蓝色数字,根据问题描述的规则计算总和,并返回该总和。 2. `main` 函数: - 首先,创建一个存储蓝色数字的向量 `blueNumbers` 和一个整数 `redNumber` 用于存储红色数字。 - 提示用户输入蓝色数字,输入 -1 表示结束输入。将输入的蓝色数字添加到 `blueNumbers` 向量中。 - 提示用户输入红色数字。 - 调用 `calculateNewNumber` 函数计算新数字。 - 输出要发送给奥兹玛之心的新数字。 [2025-12-20 19:43:04 | AI问答 | 588点数解答]

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