本题主要是利用C语言来输出菱形,我们把菱形图形分为上下两部分,其中上半部分显示分为嵌套for循环来完成,先输出依次行数再输出空格和*的个数。同理下半部分也是如此,只不过它是逆序来输出行数的。
/*
*
***
*****
*******
*****
***
*
*/
#include <stdio.h>
int main()
{
int i,j,row;
printf("input row:");
scanf("%d",&row);
上半段:
for(i=1;i<=row;i++)//总共输出的行数
{
for(j=1;j<=row-i;j++)//输出空格(空格分别为3 2 1 -->行数-i)
printf(" ");
}
for(j=1;j<=2*i-1;j++)//输出*(*分别为1 3 5 7-->2*i-1)
{
printf("*");
}
printf("\n");
}
下半段:
for(i=row-1;i>0;i--)//逆序输出行
{
for(j=1;j<=row-i;j++)//输出空白符号 (1 2 3-->行数-i)
{
printf(" ");
}
for(j=1;j<=2*i-1;j++)//输出*(5 3 1-->2*i-1)
{
printf("*");
}
printf("\n");
}
return 0;
}