挑战赛第二题——放大的X

分析问题

首先观察行 输入的数字为几,就是几行,确定外层循环次数

其次,观察列如果空格+X,也是与输入的数字相等。

确定采用替换法解决。

现在的问题转移成,如何在指定位置输出X或输出空格

建立模型

输入数字n

第一步:输出n行n列的X

第二步:对每列输出前,判断 列 j等于1至n时或 n+1-i时,输出x 其它输出空格

编写代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(j==i || j==(n+1)-i){
                cout<<"X";
            }else{
                cout<<" ";
            }
        }
        cout<<"\n";
    }
    return 0;
}

保存、编译、运行