C语言 输入整数n,输出n行字符图案

输出这样的,例如n=5
*
**
***
****
*****
****
***
**
*
最右边的*是向右对齐的
说了向右对齐!!这上面空格输不出来

#include<stdio.h>
int main()
{int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{for(j=0;j<=i;j++)
   printf("*");
 printf("\n");
}
for(i=n-2;i>=0;i--)
{for(j=0;j<=i;j++)
   printf("*");
 printf("\n");
}
}

追问

这样啊,

追答

#include<stdio.h>
int main()
{int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{for(j=n-1;j>i;j--)
   printf(" ");
 for(j=0;j<=i;j++)
   printf("*");
 printf("\n");
}
for(i=n-2;i>=0;i--)
{for(j=n-1;j>i;j--)
   printf(" ");
 for(j=0;j<=i;j++)
   printf("*");
 printf("\n");
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-23
#include<stdio.h>

int main()
{
    int i, j, n;
    printf("输入n:");
    scanf("%d",&n);
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
        {
            if(j < n - i -1)
            {
                printf(" ");
            }
            else
            printf("*");
        }
        printf("\n\n");
    }
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
        {
            if(j < i + 1)
            {
                printf(" ");
            }
            else
            printf("*");
        }
        printf("\n\n");
    }
    return 0;
}

相似回答