酷代码 AI
菜单
服务商

#include <iostream> using namespace std; int main() { int n, x; double minA = 10000, maxA = 0; cout << maxA / minA; return 0; }桃子唱了一首歌曲,她想计算整首歌曲的美妙度,具体来说,她需要找到n个数字中的最大值和最小值,并计算最大值除以最小值的结果。 输入: 共两行。 第一行为一个整数n(n<100),表示音符的数量。 第二行为n个整数a[i],表示每个音符的美妙度。(0 < ai < 1000) 输出: 一个小数,表示整首歌曲的美妙度。 输入样例: 4 3 2 3 5 输出样例: 2.5

以下是解决该问题的C++代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 读取音符的数量 cin >> n; double minA = 10000, maxA = 0; for (int i = 0; i < n; i++) { double x; // 读取每个音符的美妙度 cin >> x; // 更新最小值 if (x < minA) { minA = x; } // 更新最大值 if (x > maxA) { maxA = x; } } // 计算并输出整首歌曲的美妙度 cout.precision(1); cout << fixed << maxA / minA; return 0; } ``` 代码解释: 1. 输入音符数量:使用`cin`读取第一行输入的整数`n`,表示音符的数量。 2. 初始化最大值和最小值:将`minA`初始化为一个较大的值`10000`,将`maxA`初始化为`0`。 3. 循环读取每个音符的美妙度:使用`for`循环`n`次,每次读取一个音符的美妙度`x`。 4. 更新最大值和最小值:在每次读取音符美妙度后,比较`x`与`minA`和`maxA`的大小,如果`x`小于`minA`,则更新`minA`;如果`x`大于`maxA`,则更新`maxA`。 5. 计算并输出结果:计算`maxA`除以`minA`的结果,并使用`cout.precision(1)`和`cout << fixed`来确保输出结果保留一位小数。 复杂度分析: - 时间复杂度:$O(n)$,其中`n`是音符的数量。因为只需要遍历一次所有的音符。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2025-12-13 19:53:36 | AI问答 | 480点数解答]

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