凑字,是财务科大不了的健康网客服内部嗯好的抄不完VS发大色块的说不出口VCD呢
#include<stdio.h>
int a[100][100];
int main() {
int m,n,i,j;
printf("请输入矩阵的行和列,以空格隔开:\n");
scanf("%d %d",&m,&n);
printf("请输入%d行%d列的矩阵:\n",m,n);
for(i=0; i<m; i++) {
for(j=0; j<n; j++) {
scanf("%d",&a[i][j]);
}
}
j=0;
int d=1;//d表示方向,向右为1,向左为0
for(i=0; i<m; ) {
printf("%d ",a[i][j]);
if(d==1) {
j++;
if(j==n) {
d=0;//到尾部了,改为向左
j=n-1;
i++;
}
} else {
j--;
if(j==-1) {
d=1;//到头部了,改为向右
j=0;
i++;
}
}
}
return 0;
}
觉得有用的话采纳一下哈
i=0,j=0,从 a[ i ] [ j ] 开始读
i=1,j=2,从 a[ i ] [ j ] 开始读(判断这一行if(i%2==1),等于1,就把二维数组的 列数 -1 赋给 j )
i=2,j=0,从 a[ i ] [ j ] 开始读