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语言打印图案有个更深入的了解。