#define N 10int a[N][N];int main(){ int i,j,row..._二维数组遍历">
当前位置:   article > 正文

二维数组的遍历方法_二维数组遍历

二维数组遍历

        二维数组的遍历是考试中的重点和难点之一,尤其是蛇形填数尤为重要,下面我们来讨论一下二维数组的遍历。

一、二维数组的正向遍历

1、正向行遍历

代码框架:外循环跑行,内循环跑列

for(i=0;i<row;i++)
    for(j=0;j<col;j++)
        scanf("%d",++sum);

  1. #include <stdio.h>
  2. #define N 10
  3. int a[N][N];
  4. int main()
  5. {
  6. int i,j,row,col,sum=0;
  7. scanf("%d%d",&row,&col);
  8. for(i=0;i<row;i++)
  9. for(j=0;j<col;j++)
  10. a[i][j]=++sum;
  11. for(i=0;i<row;i++)
  12. {
  13. for(j=0;j<col;j++)
  14. {
  15. printf("%3d",a[i][j]);
  16. }
  17. printf("\n");
  18. }
  19. return 0;
  20. }

2、正向列遍历

代码框架:外循环跑列,内循环跑行

for(j=0;j<col;j++)
   for(i=0;i<row,i++)
      a[i][j]=++sum;

  1. #include <stdio.h>
  2. #define N 10
  3. int a[N][N];
  4. int main()
  5. {
  6. int i,j,row,col,sum=0;
  7. scanf("%d%d",&row,&col);
  8. for(j=0;j<col;j++)
  9. for(i=0;i<row;i++)
  10. a[i][j]=++sum;
  11. for(i=0;i<row;i++)
  12. {
  13. for(j=0;j<col;j++)
  14. {
  15. printf("%3d",a[i][j]);
  16. }
  17. printf("\n");
  18. }
  19. return 0;
  20. }

二、二维数组的反向遍历

1、反向行遍历

(1)第一种:

代码框架:外循环跑行,内循环跑列

for(i=0;i<row;i++)
  for(j=col-1;j>=0;j--)
    a[i][j]=++sum;

  1. #include <stdio.h>
  2. #define N 10
  3. int a[N][N];
  4. int main()
  5. {
  6. int i,j,row,col,sum=0;
  7. scanf("%d%d",&row,&col);
  8. for(i=0;i<row;i++)
  9. for(j=col-1;j>=0;j--)
  10. a[i][j]=++sum;
  11. for(i=0;i<row;i++)
  12. {
  13. for(j=0;j<col;j++)
  14. {
  15. printf("%3d",a[i][j]);
  16. }
  17. printf("\n");
  18. }
  19. return 0;
  20. }

(2)第二种:

代码框架:外循环跑行,内循环跑列

for(i=row-1;i>=0;i--)
  for(j=col-1;j>=0;j--)
    a[i][j]=++sum;

  1. #include <stdio.h>
  2. #define N 10
  3. int a[N][N];
  4. int main()
  5. {
  6. int i,j,row,col,sum=0;
  7. scanf("%d%d",&row,&col);
  8. for(i=row-1;i>=0;i--)
  9. for(j=col-1;j>=0;j--)
  10. a[i][j]=++sum;
  11. for(i=0;i<row;i++)
  12. {
  13. for(j=0;j<col;j++)
  14. {
  15. printf("%3d",a[i][j]);
  16. }
  17. printf("\n");
  18. }
  19. return 0;
  20. }

2、反向列遍历

(1)第一种:

代码框架:外循环跑列,内循环跑行

for(j=col-1; j>=0;j--)
    for(i=0;i<row;i++)
        a[i][j]=++sum;

  1. #include <stdio.h>
  2. #define N 10
  3. int a[N][N];
  4. int main()
  5. {
  6. int i,j,row,col,sum=0;
  7. scanf("%d%d",&row,&col);
  8. for(j=col-1; j>=0;j--)
  9. for(i=0;i<row;i++)
  10. a[i][j]=++sum;
  11. for(i=0;i<row;i++)
  12. {
  13. for(j=0;j<col;j++)
  14. {
  15. printf("%3d",a[i][j]);
  16. }
  17. printf("\n");
  18. }
  19. return 0;
  20. }

(2)第二种:

代码框架:外循环跑列,内循环跑行

for(j=col-1;j>=0;j--)
    for(i=row-1;i>=0;i--)
        a[i][j]=++sum;

  1. #include <stdio.h>
  2. #define N 10
  3. int a[N][N];
  4. int main()
  5. {
  6. int i,j,row,col,sum=0;
  7. scanf("%d%d",&row,&col);
  8. for(j=col-1;j>=0;j--)
  9. for(i=row-1;i>=0;i--)
  10. a[i][j]=++sum;
  11. for(i=0;i<row;i++)
  12. {
  13. for(j=0;j<col;j++)
  14. {
  15. printf("%3d",a[i][j]);
  16. }
  17. printf("\n");
  18. }
  19. return 0;
  20. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/201748
推荐阅读
相关标签
  

闽ICP备14008679号