七、模拟算法

目录

七、模拟算法

算法思路

实例1、猜数游戏

解题思路

实例2、模拟掷骰子游戏

解题思路


算法思路

在程序设计语言中,可使用随机函数来模拟自然界中发生的不可预测情况。C语言中使用srand()和rand()函数可生成随机数。

注意引头文件#include<time.h>

实例1、猜数游戏

使用模拟法编写一个猜数游戏,由计算机随机生成一个1~100之内的整数,然后由用户来猜这个数,根据用户猜测的次数分别给出不同的提示文字。

解题思路

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>
//猜数字游戏
int main()
{int n, m, i = 0;srand(time(NULL));n = rand() % 100 + 1;do {printf("请输入所要输入的数字:");scanf("%d" ,& m);i++;if (m > n)printf("错误,猜大了!\n");else if (m < n)printf("错误,猜小了!\n");} while (m != n);printf("答对了!\n");printf("共猜了%d次\n", i);if (i <= 5)printf("你个大聪明,这么快就猜对了!");else if (i > 5)printf("方法需要改进,常试用二分法");return 0;
}

实例2、模拟掷骰子游戏

由用户输入骰子数量和参赛人数,然后由计算机随机生成每一粒骰子的数量,再累加起来就得到每一个选手的总点数。

解题思路

#define _CRT_SECURE_NO_WARNINGS
//骰子游戏
#include <stdio.h>
#include <time.h>
void play(int n)
{int i, m= 0, t = 0;for (i = 0; i < n; i++){t = rand() % 6 + 1;m += t;printf("\t第%d粒:%d\n", i + 1, t);}printf("\t总点数为:%d\n", m);
}
int main()
{int c;//参赛人数int n;//骰子的数量int i, j;do {srand(time(NULL));printf("设置骰子的数量(输出0退出):\n");scanf("%d", &n);if (n == 0)break;//最少一个骰子printf("请输入本论参赛人数(输入0退出)");scanf("%d", &c);if (c == 0)break;//最少一个人for (i = 0; i < c; i++){printf("\n第%d位选手投出的骰子为;\n", i + 1);play(n);}printf("\n");} while (1);return 0;
}

算法:(七)模拟算法相关推荐

  1. 路径规划与避障算法(七)---DWA算法流程之三---碰撞检测评价函数

    版权声明:本文为博主原创文章,原创不易, 转载请联系博主. 本篇博客主要介绍DWA算法所采用的评价函数中障碍物相关的评价函数 评价函数: 轨迹主要依据以下三条准则进行评分,综合评分后选取分数最小的路径 ...

  2. C++算法篇 模拟算法

    1.P1059 明明的随机数   NOIP 2006 普及组 第一题 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤10 ...

  3. 排序算法(五)——堆排序算法详解及Python实现

    本文目录 一.简介 二.算法介绍 三.代码实现 排序算法系列--相关文章 一.简介 堆排序(Heap Sort)算法,属于选择排序类,不稳定排序,时间复杂度O(nlogn). 堆排序由Floyd和Wi ...

  4. 操作系统C语言模拟内存分配算法的模拟实现

    使用一个一维数组来模拟内存储空间,建立内存块来记录内存分配使用情况,通过随机产生进程及其所需要的内存来模拟真实的进程.通过给进程分配内存及回收来实现对动态不等长存储管理方法. 代码 #include ...

  5. 新模拟算法揭秘加州地震史:更准确有效

    晗锋 发自 凹非寺 量子位 报道 | 公众号 QbitAI 山火.地震.大气污染--近来频发的自然灾害,令加州人民头秃. 为此,来自南加州地震中心.哥伦比亚大学.加州大学等的研究人员决心,用计算机模拟 ...

  6. ACM竞赛学习整理--模拟算法举例POJ1068

    什么是模拟 仅仅使用较简单的算法和数据结构的题目. 模拟顾名思义,就是按照题目的要求,一步步写出代码. 常见的模拟方法 a.用数学量和图形描述问题 计算机处理的是数学量.若要用计算机解决实际问题,需要 ...

  7. 圆形坠落模拟算法设计

    目标:实现一个算法,模拟在一个封闭二维区域,圆形小球朝给定方向坠落的过程,实现二维区域的紧密填充. 像下面这样: 难点,及其简单解决: 1.如何把粒子移动尽可能远? 图中的粒子i,能往下移动多远?一般 ...

  8. 蝗虫算法java代码_蝗虫搜索算法 蝗虫算法:蝗虫优化算法是模拟自然界蝗虫种群捕食行为而提出的一 联合开发网 - pudn.com...

    蝗虫搜索算法 所属分类:其他 开发工具:matlab 文件大小:347KB 下载次数:5 上传日期:2020-07-26 16:31:25 上 传 者:西柚不加冰 说明:  蝗虫算法:蝗虫优化算法是模 ...

  9. 操作系统课设之虚拟内存页面置换算法的模拟与实现

    前言 课程设计开始了,实验很有意思,写博客总结学到的知识 白嫖容易,创作不易,学到东西才是真 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https://ronglin.fun/arch ...

  10. 最坏适应算法的模拟(c++实现)

    实验要求 1)实现一个完整的(可变)动态分区管理器,包括分配,回收,分区碎片整理等.希望同学们实现如下功能: 2)初始化功能:内存状态设置为初始状态. 3)分配功能:采用最佳适应算法进行分配. 4)回 ...

最新文章

  1. 12-flutter Textfield的使用
  2. 配置oracle驱动_Myeclipse中添加Oracle
  3. django中FastDFS客户端与自定义文件存储系统
  4. [HAOI2016]字符合并(ing)
  5. c语言中sizeof是一个标准库函数,对C语言中的sizeof的介绍分析
  6. 风控模型中的变量替换
  7. LeetCode 61. 旋转链表(python、c++)
  8. 生产阶段Webpack打包【基础打包】
  9. 相机姿态估计(三)--P3P
  10. 监控服务器ssh登录,并发送报警邮件
  11. RocketMQ(十六)RocketMQ消息存储机制
  12. cmder下载配置并设置为vscode默认终端
  13. Linux C 下的socket网络编程
  14. 现在谁还会LOL钻石网吧特权?
  15. 降维打击 Dimensionality reduction attack
  16. 2022-07-25 第五小组 顾祥全 学习笔记 day18-JavaSE-接口
  17. java软引用_什么是软引用? 有什么作用
  18. Jieba分词并去停用词
  19. 人脑与计算机之间有什么联系,电脑和人脑有什么不同
  20. HTML5Canvas实现简易画图工具(铅笔,直线,矩形,圆,文本框,橡皮擦等)

热门文章

  1. 下载Django中文官方文档
  2. javamail课设_JavaMail简易教程
  3. 28Python库分析科比生涯数据
  4. VMware12虚拟机安装
  5. VMware Workstation 10.0.7 安装
  6. [软件工程基础实验]生命游戏
  7. python函数分为哪几种_python函数有哪几种
  8. Matlab中xlsread 函数读取excel表格数据或者字符串
  9. matlab 读取 Microsoft Excel 电子表格文件不推荐使用 xlsread
  10. NLP自然语言处理干货贴