C语言中 沿对角线打印任意m*n二维数组的各项
这是同学曾经问我的一道题,我C语言实验教材上有类似的题,这是我的写法,如果有更好的请多多指教
题目如下
我的代码如下:
#include<stdio.h>
int main(){
int row,col;
scanf("%d %d",&row,&col);
int arr[row][col];
int i,j;
for(i=0;i<row;i++){ //读取从键盘输入的数据
for(j=0;j<col;j++){
scanf("%d",&arr[i][j]);
}
}
//输出上半角
for (i=0; i<col; i++){
int m = 0;
for (j=i; j>=0 && m<row; j--)
{
printf("%d\n",arr[m][j]);
m++;
}
}
//输出下半角
for (i=1; i<row; i++){
int m = i;
for (j=col-1; j>=0 && m<row; j--)
{
printf("%d\n",arr[m][j]);
m++;
}
}
return 0;
}