题目描述
给定一个正整数 n,请打印一个空心的正方形,它的边界由 *
构成,每条边都恰好有 n 个字符。
输入格式
单个正整数表示 n。
输出格式
输出一个边界为星号、内部空心的正方形。
数据范围
- 3≤n≤50。
样例数据
输入:
5
输出:
*****
* *
* *
* *
*****
解析:
本题关键点:根据特定条件写双重循环,代码如下。
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
if(i==0 || i==n-1){
for(int j=0;j<n;j++){
cout<<"*";
}
}else{
cout<<"*";
for(int k=0;k<n-2;k++){
cout<<" ";
}
cout<<"*";
}
cout<<endl;
}
return 0;
}