用C语言在屏幕上输出以下图案:
用line表示打印出来的菱形的上半部分的行数。通过观察可以发现规律,上半部分的每一行,空格数是依次减少一个,line-i-i。*依次是1,3,5,7,......,遵循2*i+1的规律。
在菱形的下半部分,空格数依次增加,*遵循2*(line-1-i)-1的规律。所以,用for循环就可以输出一个菱形。
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int line = 0;
scanf("%d", &line);
int i = 0;
for (i = 0; i < line; i++)
{
int j = 0;
for (j = 0; j < line - 1 - i; j++)
{
printf(" ");
}
for (j = 0; j<2*i+1;j++)
{
printf("*");
}
printf("\n");
}
for (i = 0; i < line - 1; i++)
{
int j = 0;
for (j = 0; j <= i; j++)
{
printf(" ");
}
for (j = 0; j < 2 * (line - 1-i)-1; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}