永发信息网

【c语言小游戏编程】关于C语言的学生作业问题1.编程序模拟“地雷游戏”。在9×9的方格...

答案:2  悬赏:60  手机版
解决时间 2021-01-29 15:31
  • 提问者网友:相思似海深
  • 2021-01-28 20:38
【c语言小游戏编程】关于C语言的学生作业问题1.编程序模拟“地雷游戏”。在9×9的方格...
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-01-28 21:45
【答案】 第一题://测试可用,已修改完整,望采纳#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)continue; 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){ 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)continue; else if(*(*(a+i+di)+j+dj)==9)counter++; } return counter;}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)continue; 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;}
全部回答
  • 1楼网友:独行浪子会拥风
  • 2021-01-28 22:44
和我的回答一样,看来我也对了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯