1 条题解

  • 0
    @ 2026-1-29 10:43:11
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n;
        cin >> n;  // [1] 读取输入的正整数n,确定图案尺寸为(2n+1)行×(2n+1)列(2 < n < 20)
        // [2] 外层循环:控制图案的行数,共执行2n+1次
        for(int i = 1; i <= 2 * n + 1; i++){
            // [3] 内层循环:控制每行的字符输出,共输出2n+1个字符
            for(int j = 1; j <= 2 * n + 1; j++){
                // [4] 判断条件:第一行、第n行,或当前位置在主对角线(i==j)时输出'*'
                if(i == 1 || i == 2*n+1 || i == j){
                    cout << "*";
                }else{
                    // [5] 不满足条件的位置输出空格
                    cout << " ";
                }
            }
            cout << endl;  // [6] 每行字符输出完成后换行
        }
        return 0;
    }
    
    • 1

    信息

    ID
    696
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    1
    已通过
    1
    上传者