酷代码 AI
菜单
服务商

c++ 已知花园里有n朵花,每一朵花的颜色为0到9之间的一个数字,其中只有颜色为m的花能够吸收能量,并绽放。请编写程序,计算一共有多少朵花能够在一夜之间绽放。 输入: 共三行。 第一行为一个整数n,表示花的总数。 第二行为n个整数,依次表示每朵花的颜色。 第三行为一个数m,表示能绽放的花的颜色。 输出: 一个整数,表示颜色为m的花的数量。

```cpp #include <iostream> int main() { int n; std::cin >> n; int bloomCount = 0; int flowerColors[1000]; // 假设花的数量最多为1000,可根据实际情况调整大小 for (int i = 0; i < n; ++i) { std::cin >> flowerColors[i]; } int m; std::cin >> m; for (int i = 0; i < n; ++i) { if (flowerColors[i] == m) { bloomCount++; } } std::cout << bloomCount << std::endl; return 0; } ``` 代码解释 1. 输入花的总数:使用 `std::cin` 读取第一行输入的整数 `n`,它代表花园里花的总数。 2. 存储花的颜色:定义一个数组 `flowerColors` 来存储每朵花的颜色。通过 `for` 循环,使用 `std::cin` 依次读取第二行输入的 `n` 个整数,将其存放到数组中。 3. 输入能绽放的颜色:使用 `std::cin` 读取第三行输入的整数 `m`,它代表能吸收能量并绽放的花的颜色。 4. 统计能绽放的花的数量:再次使用 `for` 循环遍历数组 `flowerColors`,对于每一个元素,检查其是否等于 `m`,如果相等,则将计数器 `bloomCount` 的值加 1。 5. 输出结果:使用 `std::cout` 输出 `bloomCount` 的值,即颜色为 `m` 的花的数量。 复杂度分析 - 时间复杂度:$O(n)$,这里的 $n$ 是花的总数。因为需要遍历一次数组来统计能绽放的花的数量。 - 空间复杂度:$O(n)$,主要是用于存储花颜色的数组所占用的空间。 [2025-12-26 19:57:27 | AI问答 | 471点数解答]

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