C语言编程 打印图案 两个左右对称的等腰直角三角形

如题所述

#include<stdio.h>

#define N 10
void main()
{
    int i,j,k;
    for ( i=0;i<N;i++ )
    { for ( j=0;j<i+1;j++ ) printf("* ");
      for ( j=0;j<(N-i-1)*2;j++ ) printf("  ");
      for ( j=0;j<i+1;j++ ) printf("* ");
      printf("\n");
    }

}

追问

只要4行,最后一行多了一个

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-03
#include <stdio.h>
int main()
{
int n,i,j;
printf("input n: ");
scanf("%d", &n );
for( i=1;i<=n;i++ )
{
for( j=0;j<i;j++ )
printf("* ");
for( j=0;j<(n-i)*2-1;j++ )
printf("  ");
for( j=0;j<i-1;j++ )
printf("* ");
if ( i!=n )
printf("* ");
printf("\n");
}
return 0;
}
输出:
input n: 5
*               *
* *           * *
* * *       * * *
* * * *   * * * *
* * * * * * * * *

追问

可以不用输入n吗

追答

那你需要指定一个n值啊!不然,不知道要输出几行!

追问

可以先指定一个n吗

追答

可以!

#include <stdio.h>
int main()
{
    int n,i,j;
    //printf("input n: ");
    //scanf("%d", &n );
    n=4 ;//这样就可以了
    for( i=1;i<=n;i++ )
    {
        for( j=0;j<i;j++ )
            printf("* ");
        for( j=0;j<(n-i)*2-1;j++ )
            printf("  ");
        for( j=0;j<i-1;j++ )
            printf("* ");
        if ( i!=n )
            printf("* ");
        printf("\n");
    }
    return 0;
}

本回答被提问者采纳
第2个回答  2014-12-03
书上有
相似回答