top1编程
← 返回题目
题解

输出字母圣诞树

1 条题解

  • 0
    @ 2026-8-3 18:17:33

    解题思路

    这是一道纯输出题,不需要输入。

    字母从 A 开始,每一行比上一行多 2 个字母:第 1 行 1 个、第 2 行 3 个……第 5 行 9 个,一共用到 A~Y;最后用两个 Z 做树干。

    整棵树左右对称,最宽一行是 9 个字符,所以居中对齐:第 1 行前留 4 个空格、第 2 行前留 3 个空格……第 5 行不空格,树干的两行都前留 4 个空格。直接按格式一行一行输出即可(注意行首空格不能少)。

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        cout << "    A" << endl;
        cout << "   BCD" << endl;
        cout << "  EFGHI" << endl;
        cout << " JKLMNOP" << endl;
        cout << "QRSTUVWXY" << endl;
        cout << "    Z" << endl;
        cout << "    Z" << endl;
        return 0;
    }
    

    复杂度分析

    只需要输出固定的 7 行,时间复杂度 O(1),额外空间复杂度 O(1)。

    • 1