注意一下空格,回车的输出,有点坑
#include<stdio.h> int n; int a[40][40]; void dfs(int m) { if(m==1) { a[0][1]=1; } if(m==n+1) { // printf("---\n"); return; } for(int i=0;i<m;i++) { a[m][i+1]=a[m-1][i+1]+a[m-1][i]; printf("%d",a[m][i+1]); if(i!=m-1) { printf(" "); } // printf("%d~%d_%d ",a[m][i+1],m,i+1); } if(m!=n) { printf("\n"); } dfs(m+1); } int main() { scanf("%d",&n); dfs(1); return 0; }