SunBo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1. 二维数组就是一块连续的存储空间,只是采取下标寻址时才会当成表格。

例如:

#define V_NUM 10
#define H_NUM 20

char table[V_NUM][H_NUM];

定义一个这样的二维数组,对于下面这种循环打印才把它看作是一个长度为H_NUM,高度为V_NUM的表格(如*图)。

for(i=0; i{
        for(j=0; j        {
                if(table[i][j] == 0)
                        printf("*");
                else if(table[i][j] == 1)
                        printf("o");
        }
        printf("/n");
}

 

********************
********************
********************
********************
********************
********************
********************
********************
********************
********************

 

2. 修改数组中元素

i. 在用户角度使用二维数组

例如:想画一个如下图的飞机,其中只给出机头位置(x, y),在表格中其实是table[y][x];跟定义和打印方法都有关系。

********************
********************
********************
*****o**************
*****o**o***********
****ooooo***********
*****o**o***********
*****o**************
********************
********************

 

ii. 二维数组寻址问题

例如:用户输入(x, y)来设定机头,下标移动要分析清楚。画出机身,机头(x, y),那个由上一个小问题可知是table[y][x]为起点,其中[x]向右移动5格画出飞机。

 

总结今天使用二维数组的问题,终究归于对其不熟悉,尤其是下标表示法。

 

posted on 2010-05-14 09:32  SunBo  阅读(368)  评论(0编辑  收藏  举报