#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");
}
空格应该占两位,所以需要两个空格。
#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");
}
}