1、实验题目数组与指针实验时间2012-5-2 实验地点Ds1407实验成绩 实验性质验证性 设计性 综合性教师评价:算法/实验过程正确; 源程序/实验内容提交 程序结构/实验步骤合理;实验结果正确; 语法、语义正确; 报告规范; 其他: 评价教师签名:张彧也一、实验目的1掌握一维数组和二维数组的定义和常用的操作方法;2掌握指向数组元素的指针的使用;3掌握用指向数组指针变量来表示数组的数组元素及其操作方法;4掌握用指针形式参数在函数间传递数组实际参数的方法。二、实验项目内容(实验题目)模拟“地雷游戏”。在9*9的方格中,随机布上10个“地雷”,按9行9列输出各格子的数(有雷为9,无雷为0)。在有相
2、邻地雷的格子内进一步标出相邻地雷数。三、源程序(实验过程或算法)1.解题思路 (1)首先在于地雷有10个,即表示地雷分布的二维数组中有10个“9”,剩余的格子中都是“0”。(2)用数组指针定义函数,在函数中表达并显示地雷的分布情况。(3)判断格子中是否有为“9”,若不是,则数出相邻8个格子中“9”的个数。 #include #include #include #define N 11void main() void creat (int aN,int n); void show (int aN,int n); void js (int aN,int n); int aNN=0;creat (a
3、,N);show (a,N);js (a,N);printf(nnn);show (a,N); void creat (int aN,int n) int i,j,k;srand(unsigned)time(NULL);for(k=0;kn-1;)i=rand()%9+1; j=rand()%9+1;if (aij=0)aij=9;k+; void show (int aN,int n) int i,j;for (i=1;in-1;i+)for (j=1;jn-1;j+) printf(%3d,aij); printf(n); void js (int aN,int n) int i,j,p,q;for(i=1;in-1;i+) for(j=1;jn-1;j+)if(aij=0) for(p=i-1;p=i+1;p+)for(q=j-1;q=j+1;q+)if(apq=9)aij+; 四、源程序调试过程和(或)实验分析1.实验结果2.实验分析本次实验学习了二维数组的定义和使用方法,并利用指针定义函数,刚开始做时除了分析此题的原理有困难外,如何利用函数也是棘手的地方。此次实验让我充分认识到必须要加强数组元素的指针的应用。