C语言扫雷
Cxy,bit.
自己写的,和答案不同但是不保证是高效程序。请勿抄袭。
题目:
扫雷(选做)
你玩儿过扫雷游戏吧?有个操作系统中带了这个小游戏,那个系统叫什么来着?在游戏中要想过关,就必须要在一个NxM 的区域上找出所有的地雷。游戏过程中,计算机会在地图上显示一些数字从而帮助你确定哪里有地雷。例如,在下面这个有两颗地雷的4x4 的地图(*表示地雷):
*........*...... 根据上面的地图,可以计算出应该提供给游戏者的数字如下所示:
*10022101*101110 每个数字表示了该方格周围到底有几个地雷,当然,一个方格周围最多的时候只会有八个。
输入:
输入中将包括一系列的地图,每个地图的第一行有两个整数n 和m(0 输出: 针对每一个地图,首先输出一行: Field #x:其中x 是当前地图的编号(从1 开始)。下面的n 行则将地图中的"." 以数字表示,该数字表示该方格周围有多少颗地雷。 #include main() {int i,j,k,s=0,a[300]={-2}; char b[10][300][300]={0},c[300][300]={48}; for(i=1;i<300;i+=2) {scanf("%d %d",&a[i],&a[i+1]); if(a[i]==0) break; else{s+=1; for(j=1;j<=a[i];j++) scanf("%s",b[i][j]);}} for(j=1;j<=2*s;j+=2) { for(i=1;i<300;i++) for(k=0;k<300;k++) c[i][k]=48; for(i=1;i<=a[j];i++)