题目:用C语言输出下面样式的图形。
*
***
*****
***
*
方案一:从中间断开
#include<stdio.h>
void main()
{
int i,j,k,n=1;
for(i=1;i<=3;i++)
{
for(j=1;j<=3-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(i=1;i<=2;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(k=1;k<=5-2*i;k++)
printf("*");
printf("\n");
}
}
第一个for输出前三行,后一个for输出后两行。
方案二:通过判断行数n来改变i
#include<stdio.h>
int main()
{
int i,j,k,n=1;
for(i=1;n<=5;n++)
{
for(j=1;j<=3-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
if(n<3)i++;
else i--;
}
}
通过if语句改变i的加减,从而实现输出。