2 条题解

  • 0
    @ 2025-3-9 13:32:33
    /*
    思路分析
    思路一 : 
            1. 用两个循环打印 
            第一个打印上半部分  循环体内再加两个循环 一个打印空格一个打印字符
            第二个打印下半部分
    */
    #include<bits/stdc++.h> 
    using namespace std; 
    char ch; 
    int main()
    { 
        char ch;
        cin >> ch;
    
        //打印上半部分 (n+1) / 2 行
        //每一行对应  (n+1)/ 2 - i 个空格
        //每一行对应 2i - 1 个 i代表第几行
        for ( int i = 1; i <= 3; i++ ) {
            //每一行对应  (n+1)/ 2 - i 个空格
            for ( int j = 1; j <= 3 - i; j++ ) {
                cout << " ";
            }
            //每一行对应 2i - 1 个 i代表第几行
            for ( int j = 2 * i - 1; j > 0; j-- ) {
                cout << ch;
            }
            //换行
            cout << endl;
    
        }
        //打印下半部分 (n-1) / 2 行
        //每一行对应 j 个空格 
        //每一行对应  个 2i-1 代表第几行
        for ( int i = 2; i >= 1; i-- ) {
        //每一行对应 i 个空格
        for ( int j = i; j <= 2; j++ ) {
            cout << " ";
        }
        //每一行对应 2i - 1 个 i代表第几行
        for ( int j = 2 * i - 1; j > 0; j-- ) {
            cout << ch;
        }
        //换行
        cout << endl;
        }
        return 0;
    }
    

    信息

    ID
    40
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    22
    已通过
    9
    上传者