C语言中打印图形问题
上半部分规律:星号数目是行数的二倍减一,空格数是上半部分总行数减去它所在的行号;
下半部分规律:从下半部分开始算起,每行星号数是2line-2n-1,空格数目为它所在的行号
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int line = 0;
int n = 0;
int i = 0;
int j = 0;
printf("请输入要打印的菱形上半部分的行数:");
scanf("%d",&line);
//打印上半部分
for (n=1; n<=line; n++)//控制行数
{
for (i=0; i<line-n; i++)//控制空格数量
{
printf(" ");
}
for (j=0; j<2*n-1; j++)//控制星号数量
{
printf("*");
}
printf("\n");
}
//打印下半部分
for (n=1; n<line; n++)//控制行数
{
for (i=0; i<n; i++)//控制空格数量
{
printf(" ");
}
for (j=0; j<2*line-2*n-1; j++)//控制星号数量
{
printf("*");
}
printf("\n");
}
return 0;
}