#include<stdio.h>int main(){ int n; scanf("%d",&n); int a[n][n]; int i,j; for(i=0;i<n;i++){ for(j=0;j<n;j++){ scanf("%d",&a[i][j]); } } int q=2*n-1; int w,e; for(i=0;i<n;i++){ if(i%2==0){ for(w=i;w>=0;w--){ printf("%d ",a[w][i-w]); } } if(i%2!=0){ for(e=0;e<=i;i++){ printf("%d ",a[e][i-e]); } } } int k=1; for(i=n;i<q;i++){ if(i%2==0){ for(w=i-k;w>=k;w--){ printf("%d ",a[w][i-w]); } } if(i%2!=0){ for(e=k;e<=i-k;e++){ printf("%d ",a[e][i-e]); } } k++; } return 0;}大佬们帮忙看一下,这个z字形扫描错误在哪?我测试的数据都是对的