#include <stdio.h>
int main()
{
int w, i, j;
printf("输入正方形边长\n");
scanf_s("%d", &w);
if (w <= 0)
{
printf("正方形边长要大于0\n");
return 0;
}
// 外层循环控制行数
for (i = 0; i < w; i++)
{
// 内层循环控制列数
for (j = 0; j < w; j++)
{
// 判断是否为边界位置,如果是则打印 "* ",否则打印空格
//i等于0 表示第一行 i == w - 1 表示最后一行
//j == 0 表示第一行 j == w - 1表示最后一列
if (i == 0 || i == w - 1 || j == 0 || j == w - 1)
printf("* ");
else
printf(" ");
}
printf("\n");
}
return 0;
}
该程序实现了一个循环打印空心正方形的功能。用户输入正方形的边长,然后程序使用嵌套循环逐行逐列打印正方形的图案。
注释已经对代码进行了详细解释,包括输入边长、边长验证、外层循环控制行、内层循环控制列、判断边界位置并打印相应的字符。
在边界位置,打印 "*",其他位置打印空格。
这样,当程序运行时,将根据输入的边长打印出相应的空心正方形图案。