程序以反向顺序遍历m * m矩阵

时间:2014-02-18 06:00:13

标签: c

实施例

 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16

我需要该程序的以下输出:

1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13.


 for(i=0;i<m;i++)
 {
    for(j=0;j<m;j++)
    {
        print("%d",a[i][j]);
    }
 }

这段代码将矩阵打印在一个数组中,但我需要它按顺序排列,因为它是我项目的一部分。

2 个答案:

答案 0 :(得分:0)

for(int i = 0; i < m; i++)
{
    if(i%2 == 0)
    {
        for(int j = 0; j < m; j++)
            printf("%d ",a[i][j]);
    }
    else
    {
        for(int j = m-1; j >= 0; j--)
            printf("%d ",a[i][j]);
    }
}

答案 1 :(得分:0)

for(i=0;i<m;i++){
    if(i%2==1){    
        for(j=m-1;j>=0;j--){
             print("%d",a[i][j]);
        }
    }
    else{
        for(j=0;j<m;j++){
             print("%d",a[i][j]);
    }
}