概述
二维数组的遍历是考试中的重点和难点之一,尤其是蛇形填数尤为重要,下面我们来讨论一下二维数组的遍历。
一、二维数组的正向遍历
1、正向行遍历
代码框架:外循环跑行,内循环跑列
for(i=0;i<row;i++)
for(j=0;j<col;j++)
scanf("%d",++sum);
#include <stdio.h>
#define N 10
int a[N][N];
int main()
{
int i,j,row,col,sum=0;
scanf("%d%d",&row,&col);
for(i=0;i<row;i++)
for(j=0;j<col;j++)
a[i][j]=++sum;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("%3d",a[i][j]);
}
printf("n");
}
return 0;
}
2、正向列遍历
代码框架:外循环跑列,内循环跑行
for(j=0;j<col;j++)
for(i=0;i<row,i++)
a[i][j]=++sum;
#include <stdio.h>
#define N 10
int a[N][N];
int main()
{
int i,j,row,col,sum=0;
scanf("%d%d",&row,&col);
for(j=0;j<col;j++)
for(i=0;i<row;i++)
a[i][j]=++sum;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("%3d",a[i][j]);
}
printf("n");
}
return 0;
}
二、二维数组的反向遍历
1、反向行遍历
(1)第一种:
代码框架:外循环跑行,内循环跑列
for(i=0;i<row;i++)
for(j=col-1;j>=0;j--)
a[i][j]=++sum;
#include <stdio.h>
#define N 10
int a[N][N];
int main()
{
int i,j,row,col,sum=0;
scanf("%d%d",&row,&col);
for(i=0;i<row;i++)
for(j=col-1;j>=0;j--)
a[i][j]=++sum;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("%3d",a[i][j]);
}
printf("n");
}
return 0;
}
(2)第二种:
代码框架:外循环跑行,内循环跑列
for(i=row-1;i>=0;i--)
for(j=col-1;j>=0;j--)
a[i][j]=++sum;
#include <stdio.h>
#define N 10
int a[N][N];
int main()
{
int i,j,row,col,sum=0;
scanf("%d%d",&row,&col);
for(i=row-1;i>=0;i--)
for(j=col-1;j>=0;j--)
a[i][j]=++sum;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("%3d",a[i][j]);
}
printf("n");
}
return 0;
}
2、反向列遍历
(1)第一种:
代码框架:外循环跑列,内循环跑行
for(j=col-1; j>=0;j--)
for(i=0;i<row;i++)
a[i][j]=++sum;
#include <stdio.h>
#define N 10
int a[N][N];
int main()
{
int i,j,row,col,sum=0;
scanf("%d%d",&row,&col);
for(j=col-1; j>=0;j--)
for(i=0;i<row;i++)
a[i][j]=++sum;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("%3d",a[i][j]);
}
printf("n");
}
return 0;
}
(2)第二种:
代码框架:外循环跑列,内循环跑行
for(j=col-1;j>=0;j--)
for(i=row-1;i>=0;i--)
a[i][j]=++sum;
#include <stdio.h>
#define N 10
int a[N][N];
int main()
{
int i,j,row,col,sum=0;
scanf("%d%d",&row,&col);
for(j=col-1;j>=0;j--)
for(i=row-1;i>=0;i--)
a[i][j]=++sum;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("%3d",a[i][j]);
}
printf("n");
}
return 0;
}
最后
以上就是怕孤单乌冬面为你收集整理的二维数组的遍历方法的全部内容,希望文章能够帮你解决二维数组的遍历方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复