YACS(上海计算机学会竞赛平台)一星级题集——空心正方形
2023-12-26 09:38:43
题目描述
给定一个正整数 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;
}
文章来源:https://blog.csdn.net/A3024857/article/details/135212769
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!