C语言怎么输出这个数字图案呀

img


#include<stdio.h>
int num;
void main()
{
    int a,i,b,c;
    printf("n=");
    scanf_s("%d", &a);
    for (i=1;i<=a;i++)
    {
        b = a-i;
        c = a-1+i-b;
        while (b--)printf(" ");
        while (c--)printf("%d",i);
        printf("\n");
    }
    for (i = a-1; i >= 1; i--)
    {
        b = a - i;
        c = a-1-b+i;
        while (b--)printf(" ");
        while (c--)printf("%d", i);
        printf("\n");
    }
}

#include<stdio.h>
#include<math.h>
int main()
{
    int n;
    scanf("%d", &n);
    if(n<1||n>9){
        printf("输入错误");
    }
    for(int i=1;i<=n*2-1;i++){
        for(int j=1;j<=abs(n-i);j++){
                printf("  ");
            }
        for(int j=1;j<=(n-abs(n-i))*2-1;j++){
                printf("%d",n-abs(n-i));
            }
        printf("\n");
    }
    return 0;
}

public class Test {
public static void main(String[] args) {
for (int i=1;i<=5;i++){
for (int j=1;j<=5-i;j++) {
System.out.print(" ");
}
for(int k=1;k<=2i-1;k++)
{
System.out.print(i);
}
System.out.println();
}
for (int i=1;i<=4;i++){
for (int j=1;j<=i;j++) {
System.out.print(" ");
}
for(int k=1;k<=9-2
i;k++)
{
System.out.print(5-i);
}
System.out.println();
}
}
}