else
{
printf(" ");
}
printf("%5d",a[i][j])
问题在这里,首先你的printf(" ")没有实际意义,其次你的printf("%5d",a[i][j]应该嵌套,不应该独立存在。
#include<stdio.h> int main() { int a[10][10]={0},i,j; for(i=0;i<10;i++) { for(j=0;j<10;j++) { if(i==j||j==0) { a[i][j]=1; } else if(i>j) { a[i][j]=a[i-1][j]+a[i-1][j-1]; } } } for(i=0;i<10;i++) { for(int k=0;k<10-i;k++) printf(" "); for(j=0;j<10;j++) { if(i>=j) printf("%4d",a[i][j]); } printf("\n"); } return 0; }