C语言中打印实心和空心正方形图案的程序

1. 前言

在学习C语言这门课程时,我们需要掌握输出图案的方法。本篇文章将介绍C语言中如何打印实心和空心正方形图案的程序。正方形作为几何图形中的基本图形,打印正方形的程序让我们能够更好地理解循环和控制语句的使用。

2. 打印实心正方形

2.1 程序思路

要打印实心正方形,我们可以利用嵌套循环实现,先输出一行“*”,再输出n-2行“* *”,最后输出一行“*”,其中n为正方形边长。下面是程序示例:

#include <stdio.h>

void main()

{

int i, j, n;

printf("请输入正方形的边长:");

scanf("%d", &n);

for (i = 1; i <= n; i++)

{

for (j = 1; j <= n; j++)

{

printf("* ");

}

printf("\n");

}

}

2.2 程序解释

首先要用变量n来存储正方形的边长,并通过scanf函数读取用户输入的正方形边长。

循环i控制输出的行数,循环j控制每行输出的“* ”的个数。在第二层循环中,每次输出一个“* ”,且后面要加上一个空格,最后一次输出后要换行。

2.3 程序结果

输入正方形的边长为5,程序输出如下:

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

3. 打印空心正方形

3.1 程序思路

打印空心正方形时,可以通过分别输出正方形的边框与内部空白部分来实现。我们可以先输出第一行和最后一行的“*”(即正方形的上下边框),再对正方形的中间部分进行输出分析,由于正方形的第一行和最后一行已经输出了,所以在中间部分每行仅需输出正方形的左右两个边框即可。下面是程序示例:

#include <stdio.h>

void main()

{

int i, j, n;

printf("请输入正方形的边长:");

scanf("%d", &n);

for (i = 1; i <= n; i++)

{

//第一行和最后一行

if (i == 1 || i == n)

{

for (j = 1; j <= n; j++)

{

printf("* ");

}

}

else

{

for (j = 1; j <= n; j++)

{

//正方形的左右两个边框

if (j == 1 || j == n)

{

printf("* ");

}

else

{

printf(" ");

}

}

}

printf("\n");

}

}

3.2 程序解释

同样使用变量n来存储正方形的边长,并通过scanf函数读取用户输入的边长。

循环i控制输出的行数,判断是否是第一行和最后一行,如果是则输出整行的“* ”,否则输出中间部分。在中间部分循环j控制输出的列数,如果是正方形的左右两个边框,就输出一个“* ”,否则,输出两个空格用于代替正方形的内部空白部分。

3.3 程序结果

输入正方形的边长为5,程序输出如下:

* * * * *

* *

* *

* *

* * * * *

4. 总结

本篇文章介绍了C语言中打印实心和空心正方形图案的程序,实现了对C语言中循环和控制语句的练习,同时使我们能够更好地了解其语法和执行方式。希望读者通过学习本篇文章,能够对C语言打印图案有个更深入的了解。

后端开发标签