早教吧 育儿知识 作业答案 考试题库 百科 知识分享

关于C语言的学生作业问题1.编程序模拟“地雷游戏”。在9×9的方格中,随机布上10个“地雷”,按9行9列输出各格子的数(有雷为9,无雷为0)。在有相邻地雷的格子内进一步标出相邻地雷数(

题目详情
关于C语言的学生作业问题
1.编程序模拟“地雷游戏”。在9×9的方格中,随机布上10个“地雷”,按9行9列输出各格子的数(有雷为9,无雷为0)。在有相邻地雷的格子内进一步标出相邻地雷数(最多8个)。
2. 在已做“地雷游戏”的程序基础上(第1题),按如下要求改写程序:
① “雷区”方阵的大小在程序运行过程中通过键盘输入;
② 地雷的个数在程序运行中指定; ③ 地雷的个数必须与指定个数相同
▼优质解答
答案和解析
第一题:
//测试可用,已修改完整,望采纳
#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)
{
    /*判断编号为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)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;
}
看了 关于C语言的学生作业问题1....的网友还看了以下:

异步传输模式技术中“异步”的含义是A.采用的是异步串行通信技术B.网络接口采用的是异步控制方式C.  2020-05-23 …

异步传输模式技术中“异步”的含义是_______。’A.采用的是异步串行通信技术B.网络接口采用的是  2020-05-24 …

ATM(异步传输模式)技术中“异步”的含义是()。A.采用的是异步串行通信技术B.网络接口采用的是异  2020-05-24 …

异步传输模式技术中“异步”的含义是A.采用的是异步申行通信技术B.网络接口采用的是异步控制方式C.  2020-05-24 …

c程序问题,只执行第一步a+b,而且计算出来的a+b是错误的.为啥会这样,哪里错了?:输入两个整数a  2020-11-23 …

近年来,我国山西、内蒙古等能源输出地逐步用电力输出代替煤炭输出.沿海输入地鼓励用电,优化能源消费结构  2020-11-30 …

读“波斯湾石油外运航线图”,回答下列问题.(1)图中石油输出地区是.(2)主要输入地区(国家)是、和  2020-12-05 …

读“波斯湾石油外运航线图”,回答下列问题.(1)图中石油输出地区是.(2)主要输入地区(国家)是、和  2020-12-05 …

读“波斯湾石油外运航线图”,回答下列问题:(1)图中石油输出地区是地区.(2)主要输入地区(国家)是  2020-12-05 …

关于我国交通运输的正确叙述是A.不同省区运输网密度不同,地区运输网密度的大小,反映地区交通运输通达性  2020-12-15 …