现在的位置: 首页 > 综合 > 正文

数据结构C语言>数组>一维数组表示二维数组

2013年04月19日 ⁄ 综合 ⁄ 共 1310字 ⁄ 字号 评论关闭

以行的方式:

 

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define ROW 6
 4 #define column 5
 5 
 6 int main(int argc, char *argv[])
 7 {
 8   int class[30=  {0,2,0,2,0,
 9                     1,4,1,4,1,
10                     5,0,5,0,5,
11                     0,0,0,0,0,
12                     3,0,3,0,3,
13                     0,0,0,0,0,};
14    int sum;
15    int i,j;
16    sum=0;
17    for(i=0; i<6; i++)
18    {
19       for(j=0; j< 5; j++)
20       {
21         if(class[i*column+j] != 0)
22         {sum++;}
23       }      
24    }                 
25    printf("课程总数: %d\n",sum);                 
26   system("PAUSE");    
27   return 0;
28 }
29 

 

是5*6的表格数据,用一维数组存储。遍历,还是二维数组的遍历方式。第一个循环是行的循环,第二个是列的循环。

 

下面是列为主的代码:

 

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define ROW 6
 4 #define column 5
 5 
 6 int main(int argc, char *argv[])
 7 {
 8   int class[30=  {0,2,0,2,0,
 9                     1,4,1,4,1,
10                     5,0,5,0,5,
11                     0,0,0,0,0,
12                     3,0,3,0,3,
13                     0,0,0,0,0,};
14    int sum;
15    int i,j;
16    sum=0;
17    for(i=0; i<6; i++)
18    {
19       for(j=0; j< 5; j++)
20       {
21         if(class[j*ROW+i] != 0)
22         {sum++;}
23       }      
24    }                 
25    printf("课程总数: %d\n",sum);                 
26   system("PAUSE");    
27   return 0;
28 }
29 

 

 

抱歉!评论已关闭.