用一维数组模拟二维数组
2010-08-05
下面是5*6的表格数据,用一维数组存储。遍历,还是二维数组的遍历方式。第一个循环是行的循环,第二个是列的循环。
以行的方式:
#include <stdio.h>
#include <stdlib.h>
#define ROW 6
#define column 5
int main(int argc, char *argv[])
{
int classes[30] = {0,2,0,2,0,
1,4,1,4,1,
5,0,5,0,5,
0,0,0,0,0,
3,0,3,0,3,
0,0,0,0,0};
int sum;
int i,j;
sum = 0;
for(i=0; i<6; i++)
{
for(j=0; j< 5; j++)
{
if(classes[i*column+j] != 0)
{sum++;}
}
}
printf("课程总数: %d\n",sum);
system("PAUSE");
return 0;
}
下面是列为主的代码:
#include <stdio.h>
#include <stdlib.h>
#define ROW 6
#define column 5
int main(int argc, char *argv[])
{
int classes[30] = { 0,2,0,2,0,
1,4,1,4,1,
5,0,5,0,5,
0,0,0,0,0,
3,0,3,0,3,
0,0,0,0,0 };
int sum;
int i,j;
sum = 0;
for(i=0; i<6; i++)
{
for(j=0; j< 5; j++)
{
if(classes[j*ROW+i] != 0)
{sum++;}
}
}
printf("课程总数: %d\n",sum);
system("PAUSE");
return 0;
}
