开发者社区 问答 正文

打印星星三角形的问题

void option (int lineNumber)
{
int mode;
int list;
int star;
int line;
mode = lineNumber % 2;
if(mode = 0)
{
    for(line = 1,list = lineNumber/2;line <= list;line++)
    {
        for(star = 1;star <= line;star++)
        {
            printf("*");
        }
        printf("\n");

    }

    for(line = 1,list = lineNumber/2;line <= list;line++)
    {
        for(star = 1;star <= list+1-line;star++)
        {
            printf("*");
        }
        printf("\n");
    }
  } 
 else
  {

    for(line = 1,list = (lineNumber-2)/2;line <= list;line++)
    {
        for(star = 1;star <= line;star++)
        {
            printf("*");
        }
        printf("\n");
    }

    for(star = 1;star <= (lineNumber+1)/2;star++)
        printf("*");

    for(line = 1,list = (lineNumber-2)/2;line <= list;line++)
    {
        for(star = 0;star <= list-star;star++)
        {
            printf("*");
        }
        printf("\n");
    }
 }
  return;
}

想输出的是形如
*
**
**
*
的图形
但结果不对,不知错在哪里

展开
收起
a123456678 2016-03-19 14:32:58 2290 分享 版权
1 条回答
写回答
取消 提交回答
  • for (int i = 1; i <= 9; i++)
    {
    for (int j = 1; j <= 9 - i; j++)
    {
    printf(" ");
    }
    
        for (int j = 1; j <= 2 * i - 1; j++) 
        {
            printf("*");
        }
        printf("\n");
    }
    for(int i = 9;i>0;i--)
    {
        for(int j = 1; j<=9-i; j++)
        {
            printf(" ");
        }
        for(int j = 1; j<2*i-1; j++)
        {
            printf("*");
        }
        printf("\n");
    }
    2019-07-17 19:08:13
    赞同 展开评论
问答地址: