题解 | #空心正方形图案#
空心正方形图案
https://www.nowcoder.com/practice/72347ee949dc47399186ee183632f303
#include <stdio.h>
void fsjs(int s)
{
for (int i = 1; i <= s; i++) { //输出输入数字形成图案的第一行或最后一行
printf("* ");
}
}
int main() {
int a = 0;
int i = 0;
int j = 0;
while (scanf("%d", &a) != EOF) { //多组输入格式
if (a >= 3 && a <= 20) { //判断输入是否在3到20之间
fsjs(a); //输入图案的第一行
printf("\n");
for (j = 1; j <= a-2; j++) { //a-2是因为第一行和最后一行有对应的输出
printf("*");
for (int u = 0; u < a-2+a-1; u++) { //a-2总数减去第一和最后一行+a-1输出空格个数
printf(" ");
}
printf("*");
printf("\n");
}
fsjs(a); //输出最后一行
printf("\n");
}
else { // 否则
printf("输入错误,请重新输入\n");
}
}
return 0;
}
美的集团公司福利 783人发布
