//编写一个布雷程序,在一个10*10的范围内随机布5-10颗雷,显示结果
//假设有雷为9,无雷为0,附近有雷则显示有雷的数量
#include"stdio.h"
#include"stdlib.h"                //头文件里包含rand函数
#include<time.h>                  //头文件里包含time函数
int main() {int thunder[10][10]={0};     //定义10*10的范围内所有的数字为0 int a,b;                     //thunder[a][b] int num;  srand(time(NULL));           //用系统时间来改变系统的种子值,可以为rand函数提供不同的种子值,进而产生不同的随机数序列。平时很少用,个人理解为更随机 l1:num=rand()%11;               //雷的数目在0-10之间  if(num<5) {                  //goto语句,使数目大于5 goto l1;    }
//布雷 for(int i=0;i<num;i++) {l2: a=rand()%10;           //rand函数,生成0-9的随机数 b=rand()%10;if(thunder[a][b]==9) { goto l2;               } thunder[a][b]=9; }
//计算雷的数量,旁边的8个有都要计数,上,下,左,右,左上 ,左下,右上,右下 for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {  if(thunder[i][j]==9) {       //本身,不然也会计数了 continue;                 //继续 }         if(thunder[i-1][j]==9) {     //上 thunder[i][j]++;}if(thunder[i+1][j]==9) {     //下 thunder[i][j]++;} if(thunder[i][j-1]==9) {     //左 thunder[i][j]++; }if(thunder[i][j+1]==9) {     //右 thunder[i][j]++;     } if(thunder[i-1][j-1]==9) {   //左上 thunder[i][j]++;}if(thunder[i+1][j-1]==9) {   //左下 thunder[i][j]++;    } if(thunder[i+1][j+1]==9) { thunder[i][j]++;}if(thunder[i-1][j+1]==9) {   //右上 thunder[i][j]++;} }}for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {printf("%d ",thunder[i][j]);         //把数组输出 } printf("\n");}printf("有%d个雷。\n",num);return 0;
}

编写一个布雷程序,在一个10*10的范围内随机布5-10颗雷,显示结果相关推荐

  1. 编写一个汇编语言程序,完成以下要求。从BUF单元处定义有10个带符号字数据:-1,3,24,94,62,72,55,0,-48,99,试找出他们中的最大值和平均值,并以此分别存放至该数据区的后两个单元

    编写一个汇编语言程序,完成以下要求.从BUF单元处定义有10个带符号字数据:-1,3,24,94,62,72,55,0,-48,99,试找出他们中的最大值和平均值,并以此分别存放至该数据区的后两个单元 ...

  2. 编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和

    package test;/*** @author 作者* @version 创建时间:2018年10月19日 上午8:28:09 * 类说明 : 编写一个Java程序在屏幕上输出1!+2!+3!+- ...

  3. java语言打印1到10的偶数_#Java编程# 编写一个应用程序创建两个线程,一个线程打印输出1~100之间所有的奇数,另外一 求写一个用JAVA求1~...

    import java.util.Random; class A extends Thread { \tint i=1; \tRandom r=new Random(); \tpublic void ...

  4. 在Linux环境下用C语言编写一个乘法程序mult,从命令行接收两个数字,然后输出其乘积;再用C语言编写一个exec1程序,在程序中使用execvp调用mult程序计算5与10的乘积。

    在Linux环境下用C语言编写一个乘法程序mult,从命令行接收两个数字,然后输出其乘积:再用C语言编写一个exec1程序,在程序中使用execvp调用mult程序计算5与10的乘积. 1.mult. ...

  5. 13、编写一个游戏级别评分器,循环录入每一局(共10局)的游戏得分,显示输出游戏级别。评分标准:10局中如果90%达到80分之上为一级,如果60%达到80之上为二级。

    import java.util.Scanner; public class Zuoye1 { /** * 编写一个游戏级别评分器, 循环录入每一局(共10局)的游戏得分, 显示输出游戏级别. 评分标 ...

  6. 编写一个汇编语言程序,将字符串Hello World中的全部小写字母转换为大写字母,并存放回原地址处。

    编写一个汇编语言程序,将字符串"Hello World"中的全部小写字母转换为大写字母,并存放回原地址处. P176 4.10 编程思路:首先DATA段中,定义string存放字符 ...

  7. 编写一个C程序,实现以下功能:定义一个学生结构体Student(含学号、姓名、年龄、身高)和一个函数sort(struct Student *p),该函数使用选择排序法按年龄由小到大排序。在主函数中

    编写一个C程序,实现以下功能: 定义一个学生结构体Student(含学号.姓名.年龄.身高)和一个函数sort(struct Student *p),该函数使用选择排序法按年龄由小到大排序.在主函数中 ...

  8. 编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制

    题目要求: 编写一个C程序,实现以下功能: //编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101. //在main函数中输入整数n,调用函数 ...

  9. java 级数_编写一个Java程序实现级数运算。

    编写一个Java程序实现级数运算.其中:定义级数求和类,以及级数求积(阶乘)类,在项目主类中声明一个级数求和对象和求阶乘对象,由键盘输入级数的n值,并打印出1+2+...+n的和,以及... 编写一个 ...

最新文章

  1. 数据库的两种引擎Innodb和MyIASM
  2. Java自定义Exception
  3. 百度Logo月度首页人物--王正华:中国低成本航空第一人
  4. 学成在线--6.CMS页面管理开发(删除页面)
  5. 华为100万部鸿蒙,2019年Q4发布 华为100万部鸿蒙OS手机已开测
  6. vue视频保存不下来_视频素材制作小技巧
  7. 回顾:你对Windows 8了解有多少?开启浏览器javascr
  8. 点集凸包算法python实现
  9. 如何在Java项目中定义并调用自己编写的native方法?
  10. 基于Jenkins和Kubernetes流水线实现应用的自动发版
  11. 2019总结,2020寄望(没有干货,纯属闲聊)
  12. 【基础版】大学计算机-计算思维导论
  13. 递归的理解(数据结构)
  14. Element组件框架
  15. 对金融基础知识的小总结
  16. vue3+百度地图:加载百度地图去除logo
  17. Unity手机震动,Unity -> ios 震动
  18. 怎么从华为nova4导入计算机,华为Nova4怎么用USB连接电脑调试教程
  19. 一探B站后台架构, 他山之石, 何以攻玉? -- 仅从一个一线Golang开发者的角度谈B站4.22代码
  20. 冬季黄山(2~3 日游)攻略

热门文章

  1. 使用IIS搭建本地Web服务器(手把手教程)
  2. 推荐一款免费的带有坐标系的在线绘图web应用(汇报神器)
  3. 迪克斯特拉算法(Dijkstra 最短路算法)(简单易懂)
  4. Hive 通过关闭CBO (Cost based Optimizer) 来优化特定的SQL执行
  5. PWM整流器双闭环PI参数的整定
  6. TEC-2实验计算机运算器实验
  7. 第四章第十二题(十六进制转二进制)(Hex to binary)
  8. 利用 telnet 命令测试 SMTP 服务(QQ邮箱)
  9. 科研中如何使用SPSS进行数据分析?
  10. Exploring Simple Siamese Representation Learning论文笔记