酷代码 AI
菜单
服务商

厨师长将菜摆成了n ( 1 <= n <= 10 )行,其中第 i 行一共摆放了 a[i] 份菜,请你编写程序,使用'*'号来打印菜品的摆放图形。 输入: 共两行,第一行一个数字n,代表菜的行数。 第二行有n个数字,依次代表每一行有多少份菜。 输出: 共n行,每行若干个'*'号。

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int a[10]; // 读取每一行菜的数量 for (int i = 0; i < n; i++) { cin >> a[i]; } // 打印菜品摆放图形 for (int i = 0; i < n; i++) { for (int j = 0; j < a[i]; j++) { cout << '*'; } cout << endl; } return 0; } ``` 代码解释: 1. 输入处理: - 首先从标准输入读取一个整数 `n`,它表示菜摆放的行数。 - 接着使用一个长度为 10 的整型数组 `a` 来存储每一行菜的数量。通过 `for` 循环,依次读取 `n` 个数字并存储到数组 `a` 中。 2. 图形打印: - 外层 `for` 循环遍历每一行,循环变量 `i` 的范围是从 0 到 `n - 1`。 - 对于每一行,内层 `for` 循环根据 `a[i]` 的值来确定该行需要打印的 `*` 号数量。循环变量 `j` 从 0 开始,当 `j` 小于 `a[i]` 时,不断打印 `*` 号。 - 每打印完一行的 `*` 号后,使用 `cout << endl;` 进行换行,以保证输出的图形符合要求。 3. 程序返回: - 最后 `return 0;` 表示程序正常结束。 复杂度分析: - 时间复杂度:$O(m)$,其中 $m$ 是所有行菜的总数,因为需要遍历每一行的每一份菜并打印 `*` 号。 - 空间复杂度:$O(n)$,主要用于存储每一行菜的数量的数组。 [2026-02-07 19:47:45 | AI问答 | 474点数解答]

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