模拟扫雷技巧程序按九行九列输出各格子数有雷为九无雷为零在...

在九九方格中随机布十个雷,按九行九列输出格子数,_百度知道关于C语言的学生作业问题1.编程序模拟“地雷游戏”。在9×9的方格中,随机布上10个“地雷”,按9行9列输出各格子的数(有雷为9,无雷为0)。在有相邻地雷的格子内进一步标出相邻地雷数(最多8个)。 2.
在已做“地雷游戏”的程序基础上(第1题),按如下要求改写程序:
① “雷区”方阵的大小在程序运行过程中通过键盘输入;
② 地雷的个数在程序运行中指定;
③ 地雷的个数必须与指定个数相同
国漫救星0749
第一题://测试可用,已修改完整,望采纳#include&stdio.h&#include&time.h&#include&stdlib.h&#define&N&10&//地雷的个数void&fun1(int&(*a)[9]){&&&&/*随机生成地雷*/&&&&int&i,j;&&&&srand((int)time(0));&&&&int&counter=0;&&&&while(counter&N)&&&&{&&&&&&&&i=rand()%9;&&&&&&&&j=rand()%9;&&&&&&&&if(*(*(a+i)+j)==9)&&&&&&&&else&&&&&&&&{&&&&&&&&&&&&*(*(a+i)+j)=9;&&&&&&&&&&&&counter++;&&&&&&&&}&&&&}}void&fun2(int&(*a)[9]){&&&&/*输出雷阵*/&&&&int&i,j;&&&&for(i=0;&i&9;&i++)&&&&{&&&&&&&&for(j=0;&j&9;&j++)&&&&&&&&&&&&printf(&%d&&,*(*(a+i)+j));&&&&&&&&printf(&\n&);&&&&}&&&&printf(&\n&);}int&Sum(int&(*a)[9],int&i,int&j){&&&&/*判断编号为i,j的格子周围有多少个地雷*/&&&&int&di,dj,counter=0;&&&&for(di=-1;&di&=1;&di++)&&&&&&&&for(dj=-1;&dj&=1;&dj++)&&&&&&&&{&&&&&&&&&&&&if(i+di&0||i+di&8||j+dj&0||j+dj&8)&&&&&&&&&&&&/*超出范围*/&&&&&&&&&&&&else&if(*(*(a+i+di)+j+dj)==9)counter++;&&&&&&&&}&&&&return&}void&fun3(int&(*a)[9]){&&&&/*扫雷*/&&&&int&i,j;&&&&for(i=0;&i&9;&i++)&&&&&&&&for(j=0;&j&9;&j++)&&&&&&&&{&&&&&&&&&&&&if(*(*(a+i)+j)==9)&&&&&&&&&&&&/*如果其本身就是地雷*/&&&&&&&&&&&&else&*(*(a+i)+j)=Sum(a,i,j);&&&&&&&&}}int&main(){&&&&int&a[9][9];&&&&int&i,j;&&&&for(i=0;&i&9;&i++)&&&&&&&&for(j=0;&j&9;&j++)&&&&&&&&&&&&*(*(a+i)+j)=0;&&&&fun1(a);//产生雷阵&&&&fun2(a);//输出雷阵&&&&fun3(a);//扫雷&&&&fun2(a);//输出雷阵&&&&return&0;}
为您推荐:
扫描下载二维码模拟扫雷程序按九行九列输出各格子数有雷为九无雷为零在有相邻地雷的格子里进一步标出相邻地雷数_百度知道小学数学方框里9个数的和是99该怎么框
1-23-4+56+78-9=991-23+45-6-7+89=99 1+2+34+56+7+8-9=991-2+34+56-7+8+9=99 1+23+4-5-6-7+89=99
为您推荐:
其他类似问题
扫描下载二维码在扫雷中,旗代表已找出的雷.数字代表该数周围八个方格中的地雷数目.则ABC所占的格有雷的概率分别为多少不好意思,图给忘了
A:100%B:50%C:50%这是我们班曾经考过的题
为您推荐:
其他类似问题
LZ,那道题的图,是不是那个扫雷低级难度那个?你把中间那个数发出来啊!要不怎么解?
不想当厨师的裁缝不是好司机。
是4*4棋盘吗?空格表示无雷吗?是的话,A肯定是,BC的可能性是50%,只能猜。
这个概率题其实很难,但以我玩扫雷上千把的经验来看C不是雷。。。。
扫描下载二维码

参考资料

 

随机推荐