空心正方形

分析问题

打印一个空心正方形

可以将问题分为三步

1 利用嵌套循环打印实心的正方形

2 增加条件判断:如果是第一行或最后一行,完全输出

3 增加条件判断:不是的首尾行,只保留第1列和最后1列的星号

建立模型

  1. 获取用户输入值:例如用户输入数值n,目标则为五行五列的正方形
  2. 外层循环控制行数:使用一个外层循环变量(设为 i)来控制打印的行数,循环次数为输入的 n
  3. 第一行和最后一行打印规则:当 i 等于 1(第一行)或者 i 等于 n(最后一行)时,让每行打印 n 个用于构成正方形的字符(比如 *)。
  4. 中间行打印规则:当 i 既不等于 1 也不等于 n(即中间行)时,如果j等于1或者j等于n,则将打印空格。
  5. 整体流程:通过外层循环的每次迭代,依据上述规则打印出对应行,直至完成 n 行的打印,得到 n 行的空心正方形。

编写代码

#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(i==1 || i==n){
                cout<<"*";
            }else{
                if(j==1 || j==n){
                    cout<<"*";
                }else{
                    cout<<" ";
                }
            }
        }
        cout<<"\n";
    }
    return 0;
}

保存 编译 运行