打印数字三角形的位置和数字排序

img


1.打印这个三角形怎么才能打到中间,两边都是空白的?
2.三角形数字的增加和减少,可以用,最中间的数字是行数,然后向左向右递减吗??

可以的,用这种就是向左向右递减

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



#include <stdio.h>
int main()
{
    int a,b,c,n,x;
    scanf("%d", &n);
    for (a=1;a<=n;a++)
    {
        printf("                      ");
        for (b=n-a;b>=1;b--)
            printf("  ");
        for (c=1;c<a*2;c++)
        {
            if(c<=a) x = c;
            else    x = 2*a-c;
            printf("%d ",x);
        }
        printf("\n");
    }
    return 0;
}