用C语言程序实现打印出一个菱形,观察菱形,它的每一行前面会有空格,要打印菱形,首先要算出空格多少的规律,以及每行*的数目,把菱形分为上下两部分打印,上半部分规律:观察最长的一行,它的*数目是它行数的二倍减一(行号的二倍加一),观察所有上半部分每行空格,空格数是上半部分总行数(记为line)减去它所在的行号;下半部分规律,从下半部分开始算起,每行*数是2*(line-1-i)-1,循环line-1次,空格数目为它的行号加一。
程序代码如下:
#include <stdio.h>
#include <Windows.h>
int main()
{
int line = 0; //上半部分行数
int i = 0;
int j = 0;
int n = 0;
scanf("%d", &line);
for (i = 0; i < line; i++)
{
for (n = 0; n < line - 1 - i; n++)
{
printf(" ");
}
for (j = 0; j < 2 * i+1; j++)
{
printf("*");
}
printf("\n");
}
for (i = 0; i < line - 1; i++)
{
for (n = 0; n < i + 1; n++)
{
printf(" ");
}
for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}
运行结果如下:
输入你想要的菱形上半部分*行数,就可得到想要显示的菱形图形;