top1编程
← 返回题目
题解

【入门】柱状图

1 条题解

  • 0
    @ 2026-7-31 15:03:44

    解题思路

    题目要求用柱状图表示每种物品的数量,每行输出物品编号和对应数量的星。

    思路:

    1. 读入 n 种物品的数量
    2. 每种物品一行:
      • 先输出编号和冒号
      • 再输出数量个星
      • 换行

    举例:3 种物品,数量 3 7 6

    • 1 号:3 个星 → 1:***
    • 2 号:7 个星 → 2:*******
    • 3 号:6 个星 → 3:******

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int a[110], n;
        cin >> n;
    
        for (int i = 1; i <= n; i++) cin >> a[i];
    
        for (int i = 1; i <= n; i++) {
            cout << i << ":";
            for (int j = 1; j <= a[i]; j++) cout << "*";
            cout << endl;
        }
        return 0;
    }
    

    复杂度分析

    • 时间复杂度:O(N×K),K 为最大数量
    • 空间复杂度:O(N),存数量数组
    • 1