这个序列中返回一个数(在0到32767之间),这里在调用rand()函数之前调用srand((unsigned)time(NULL)),这样以time函数值(即当前时间)作为种子数,因为两次调用rand函数的时间通常是不同的,这样就可以保证随机性了。地图是9*9的数组申明是却是a[11][11][3]后面的3前面已经做过声明,a[][][0]表示有无雷,a[][][1]表示周围雷的个数,a[][][2]表示是否打开,前面的11是因为某块没有雷的时候计算周围地雷的数量的时候,如果这块是(1,1)这样的边或角的时候考虑起来就特别麻烦所以就在9*9外面再围一圈(外面这圈全部数据定义为0)这样9*9的数据都可以用相同的方式计算了不需要考虑其他的情况了。第四章源程序及运行结果4.1部分源代码#include<iostream.h>#include<stdio.h>#include<time.h>//时间库,要用到里面的时间来做随机数的种子#include<stdlib.h>>//标准工具库,要用到其中的rand()staticinta[11][11][3];//a[][][0]有无雷a[][][1]周围雷的个数a[][][2]打开没有;intgameflag=1;//游戏是否继续进行,=0就是结束游戏(gameflag为一个变量)intflag=0;//完成游戏后gameflag=0,flag区分是否完成游戏intnum=0;//打开几块int_num;//地雷总数intplay(void){inti,j;/****************重头到尾的扫描***************/for(i=1;i<=9;i++){for(j=1;j<=9;j++){if(a[i][j][2]==1)//如果该块打开{if(a[i][j][1]==0)//如果某块上面没有雷,周围全部打开(1){