让我们看看如何用c语言打印空心正方形
输入一个整数,表示输出的行数,也表示组成矩形边的“ * ”的数量
如 输入数字8,得到以下输出
我们可以先观察这个图形的构成,第一行和最后一行打印整条边,第一列和最后一列打印整条列,其余部分为空格,既然如此,我们这里需要用到循环来进行代码的实现。
如果为第一行或最后一行则全部打印 * ,其他行 若为第一列或最后一列则打印 * ,否则打印空格。
代码如下:
#include<stdio.h>
int main()
{
//多组输入,一个整数(3~20),表示输出的行数,也表示组成矩形边的“*”的数量。
int a;
int i;
int j;
while ((scanf_s("%d", &a)) != EOF) {
for (i = 1; i <= a; i++) {
if (i == 1 || i == a) { //首行或最后一行
for (j = 1; j <= a; j++) {
printf("*");
}printf("\n");
}
else { //其他行
for (j = 1; j <= a; j++) {
if (j == 1 || j == a)printf("*"); //首列或最后一列
else printf(" "); //其他列
}
printf("\n");
}
}
}return 0;
}