分析问题
打印一个空心正方形
可以将问题分为三步
1 利用嵌套循环打印实心的正方形
2 增加条件判断:如果是第一行或最后一行,完全输出
3 增加条件判断:不是的首尾行,只保留第1列和最后1列的星号
建立模型
- 获取用户输入值:例如用户输入数值
n,目标则为五行五列的正方形- 外层循环控制行数:使用一个外层循环变量(设为
i)来控制打印的行数,循环次数为输入的n。- 第一行和最后一行打印规则:当
i等于 1(第一行)或者i等于n(最后一行)时,让每行打印n个用于构成正方形的字符(比如*)。- 中间行打印规则:当
i既不等于 1 也不等于n(即中间行)时,如果j等于1或者j等于n,则将打印空格。- 整体流程:通过外层循环的每次迭代,依据上述规则打印出对应行,直至完成
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;
}