题目描述
给定一个正整数 n,请打印一个空心的正方形,它的边界由 *
构成,每条边都恰好有 n 个字符。
输入格式
单个正整数表示 n。
输出格式
输出一个边界为星号、内部空心的正方形。
数据范围
- 3≤n≤50。
样例数据
输入:
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;
}