top1编程
← 返回题目
题解

钻石钻石亮晶晶

1 条题解

  • 0
    @ 2026-8-4 1:12:13

    解题思路

    用给定字符构造一个对角线长 5 的菱形。菱形一共 5 行,字符数分别是 1、3、5、3、1,且左右对称,越往中间缩进越少:

    • 第 1 行:2 个空格 + 1 个字符
    • 第 2 行:1 个空格 + 3 个字符
    • 第 3 行:5 个字符(不缩进)
    • 第 4 行:1 个空格 + 3 个字符
    • 第 5 行:2 个空格 + 1 个字符

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        char c;
        cin >> c;
        // 第一行:2个空格 + 1个字符
        cout << "  " << c << endl;
        // 第二行:1个空格 + 3个字符
        cout << " " << c << c << c << endl;
        // 第三行:5个字符
        cout << c << c << c << c << c << endl;
        // 第四行:1个空格 + 3个字符
        cout << " " << c << c << c << endl;
        // 第五行:2个空格 + 1个字符
        cout << "  " << c << endl;
        return 0;
    }
    

    复杂度分析

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

    • 1