题解 | #空心正方形图案#
空心正方形图案
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; }