#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字形扫描错误在哪?
我测试的数据都是对的