给定一个正整数 n,请打印一个空心的正方形,它的边界由?*
?构成,每条边都恰好有?n?个字符。
单个正整数表示?n。
输出一个边界为星号、内部空心的正方形。
输入:
5
输出:
*****
*? ? *
*? ? *
*? ? *
*****
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|---当i=1或i=n——输出'*'
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|---当j=1或j=n并且i≠1并且i≠n——输出'*'
开始——输入n——for(从i=1至n)——for(从j=1至n)--|---当j≠1并且j≠n并且i≠1并且i≠n——输出' '
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
? ? ? ? ? ? ? ? ? ? ? ?输出换行(当j的循环结束时)
#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 << endl;
}
return 0;
}