为什么打出来不是三角形啊?空格哪里打错了呢

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

img

空格应该占两位,所以需要两个空格。

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

img