首页 软件代码

C语言输出图案


题目:用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的加减,从而实现输出。





文章评论