C语言 二维数组回形遍历

Python012

C语言 二维数组回形遍历,第1张

#include <stdio.h>

#define N 20

int main( void )

{

int row, col, i, j, k, i1, j1

int num

int array[N][N]

printf( "Please input row and col:\n")

scanf( "%d %d", &row, &col )

num = row * col

for( i = 0i <rowi++ )

for( j = 0j <colj++ )

scanf( "%d", &array[i][j] )

for( i = 0i++ ){

for( j = ij <col - ij++ ){

printf( "%d\t", array[i][j] )

num--

if( num == 0 )

return 0

}

for( k = i + 1k <row - ik++ ){

printf( "%d\t", array[k][j-1])

num--

if( num == 0 )

return 0

}

for( i1 = j - 2i1 >i - 1i1-- ){

printf( "%d\t", array[k-1][i1] )

num--

if( num == 0 )

return 0

}

for( j1 = k - 2j1 >ij1-- ){

printf( "%d\t", array[j1][i] )

num--

if( num == 0 )

return 0

}

}

return 0

}

遍历上三角:

int i,j

for (i=0i<3i++)

for (j=ij<3j++) {a[i][j]……}

遍历下三角:

for(i=0i<3i++) for(j=0j<=ij++){a[i][j]......}

遍历主对角线

for(i=0i<3i++){a[i][i]......}

遍历副对角线:

for(i=0,j=3-1i<3i++,j--){a[i][j]......}