注册 登录
编程论坛 C语言论坛

怎么输出*与+交替的三角形呢?新手上路,不会!求大神!

付小饶 发布于 2017-03-22 16:45, 1364 次点击
   *
  *+*
 *+*+*
4 回复
#2
付小饶2017-03-22 16:46
谢谢大家 帮忙看看吧
#3
wp2319572017-03-22 17:00
程序代码:
# include<stdio.h>

int main()
{
    for(int i=0;i<8;i++)
    {
        for(int k=0;k<20-i;k++) printf(" ");
        for(int j=0;j<2*i+1;j++) if(j%2==0)    printf("*"); else printf("+");
        printf("\n");
    }
    return 0;
}
#4
peter张2017-03-22 22:43
程序代码:
#include <stdio.h>

int main()
{
    int i , j, k;
    char a[5][5];

    //为数组赋值
    for(i =0;i < 5;i++)
    {
        for(j =0 ;j < 5; j++)
        {
            if(j%2==0)
            {
                a[i][j]='*';//数组第0、2、 4 列为'*'
            }
            else
            {
                a[i][j]='+';//数组第1、 3 列为'+'
            }
        }
    }


    //打印数组

    for(i =0;i < 5; i++)
    {
        if(i%2!=0)
        {
            continue;//1、3行不输出
        }
        for(k=4;k>=i;k--)
        {
            printf(" ");
        }
        for(j = 0; j<=i; j++)
        {
            printf("%c",a[i][j]);
        }
        printf("\n");
    }

    return 0 ;
}
#5
peter张2017-03-22 23:08
这个好像更好些:
程序代码:
#include  <stdio.h>

int main()
{
    int i, j;
    char a[2]={'*','+'};
    for (i =0 ;i < 5 ;i++)
    {
        if(i%2 != 0)
        {
            continue;
        }
        for(j =4 ;j >=i;j--)
        {
            printf(" ");
        }

        for(j = 0; j<=i; j++)
        {
            printf("%c",a[j%2]);
        }
        printf("\n");
    }
}
1