猜数字游戏

编译环境VS2017

猜数字游戏,顾名思义,是需要人们猜测一个未知但已确定的数,此问题中还规定了范围0~99。其中,这个未知但要确定的数就要由编写程序来产生,当这个数生成后我们猜数字,程序告诉我们猜的高了,低了,或猜对了来提示我们猜数。

这个未知但已确定的数我们可以用随机数来代替,运用rand()函数可以产生产生随机数,但产生的随机数并不是真正意义上的随机数,因为rand的内部实现是用线性同余法做的,他并不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的。
rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。rand ()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。
srand()用来设置rand()产生随机数时的随机数种子。其参数必须是个整数,通常可以利用time(0)的返回值来当做参数。如果每次参数都设相同值,rand()所产生的随机数值每次就会一样。
例如:当不设置随机数种子时每次产生随机数都一样,如下

int num[10];for (int i =0; i < 10; ++i) {num[i] = rand()%100;printf("%d\t", num[i]);}

这段代码每次运行产生的随机数列都不变如下:

当设置变化的随机种子后
即添加代码srand((unsigned int)time(0));

int num[10];srand((unsigned int)time(0));for (int i =0; i < 10; ++i) {num[i] = rand()%100;printf("%d\t", num[i]);}

即运行结果为:

再次运行结果为

可以看出,设置变化的时间戳作为随机种子后生成的随机数组不再重复
需要注意的是time(0)返回值与srand()中参数类型并不同,srand()中参数类型为unsigned int型,为避免警告,需要进行类型强制转换
具体实现如下:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void Menu() {printf("**************************\n");printf("   1.开始游戏\n");printf("   0.退出游戏\n");printf("**************************\n");printf("请输入您的选择\n");
}
void fun() {int x;srand((unsigned int)time(0));//用时间戳来改变每次产生的随机数序列int to_guess = rand() % 100;//产生0到99的随机整数while (1) {printf("请输入您猜的数字\n");scanf("%d", &x);if (x > to_guess) {printf("高了\n");}else if (x < to_guess) {printf("低了\n");}else {printf("猜对了\n");break;}}
}
int main() {int num;Menu();scanf("%d", &num);system("cls");if (num == 1) {fun();}if (num == 0) {printf("再见!\n");}system("pause");return 0;
}

运行结果如下:


再次运行后:

猜数字游戏(C语言)相关推荐

  1. c语言程序设计 猜数字,猜数字游戏c语言编程,c语言编程 编一个猜数字游戏

    c语言编程 编一个猜数字游戏 #include #include #include #include void main()/*主函数*/ { int a,b,times=0,i,j,guess=0, ...

  2. c语言课题设计题目猜数字游戏,C语言课题设计报告(猜数字游戏)文档.doc

    C语言课题设计报告(猜数字游戏)文档 课 程 设 计 报 告 课程名称 C 语言课程设计 课题名称 猜数字游戏 专 业 电气工程及其自动化 班 级 1183 学 号 13 姓 名 鲁响 指导教师 王颖 ...

  3. c语言作业 猜数字游戏,C语言实现猜数字小游戏

    本文实例为大家分享了C语言猜数字的具体代码,供大家参考,具体内容如下 一.描述 猜数字游戏. 二. 程序 使用srand((unsigned)time(NULL)),产生随机数种子. int rand ...

  4. 猜数字游戏c语言原理二进制,第一个c语言实现的猜数字游戏

    #include #include #include #include #include #include #include void output() { printf("******** ...

  5. 与猜数问题有关的游戏C语言,猜数字游戏(C语言版)

    最近在研究算法的问题 貌似这是工作中的一个短板 当然 这跟我从事的工作有关 一般不容易接触太多算法问题 .很多时候接触都是一些CRUD  ! 今天空闲了会 写了一个猜数字的游戏  原理很简单 直接上代 ...

  6. 猜数字游戏c语言编程,【游戏编程】猜数字游戏(C语言)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //此游戏规则为:系统随机生成一个整数,然后要你去猜它.系统会提示你是大了还是小了.游戏结束后会生成排行榜,有记录时间 #include #include ...

  7. 猜数字游戏——c语言

    /*随机生成一个1至9之间的任意整数作为被猜的数字,循环输入你猜的数字,告知你猜的是大了还是小了 ,一直到猜中那个数字,同时输出猜的次数 */ #include<stdio.h> #inc ...

  8. 猜数字游戏 模拟用户登录场景 模拟屏幕输出 C语言代码实现详细

    范围在 0-100 的猜数字游戏 c语言代码实现 //1-100猜数字游戏 #include<stdio.h> #include<stdlib.h> //随机数函数头文件 #i ...

  9. 1到100猜数字游戏规则c语言,[C语言课程设计猜数字游戏1.doc

    [C语言课程设计猜数字游戏1 课 程 设 计 报 告 课程名称 C语言程序设计报告 课题名称 猜数字游戏 专 业 电气工程及其自动化 班 级 1104 学 号 33 姓 名 张腾 指导教师 黄晓宇 丁 ...

  10. c语言程序设计 猜数字,C语言程序设计(猜数字游戏)报告.doc

    C语言程序设计(猜数字游戏)报告 <高级语言程序设计>课程设计 题目:班级:09R3 学生姓名:谢泽雄 学生学号:200931000622 指导老师:提交时间:华南农业大学信息(软件)学院 ...

最新文章

  1. 世界应该多点理解关爱,少点争吵
  2. stm32非操作系统开发和带uCos的开发的区别,及一些解析
  3. hdu1572 水搜索
  4. JAVA——Java连接MySQL数据库
  5. mysql数据库建新分区_mysql数据库分区
  6. 在家办公这些天整理的Kafka知识点大全
  7. Hibernate之HQL检索(查询)方式
  8. java 正则匹配_正则表达式真的很强大,可惜你不会写
  9. leetcode题解162-寻找峰值
  10. 关于重定向页面和请求转发页面的区别
  11. 提取图像色彩主色调工具
  12. python小课账号转卖_Python小课笔记--Python报错处理
  13. 【DSP】CCS 5.5的安装教程
  14. 智能电销机器人语音自动外呼效果好吗?《各版本机器人部署》
  15. 数据分析之参数检验与非参数检验
  16. 前端灰度发布 你知多少?
  17. 自动驾驶汽车是如何利用高精度地图和高精度定位来导航
  18. 用Python画漂亮的专业插图 ?So easy!
  19. 父子组件传值之(子传父)
  20. 线程池的七个核心参数

热门文章

  1. snmp+mrtg实现对局域网内的linuxServer的监控(转)
  2. EasyExcel导出Excel表格到浏览器,并通过Postman测试导出Excel【入门案例】
  3. 深圳软件测试培训:软件生命周期(SDLC)的六个阶段
  4. mobilenet压缩
  5. 男生心疼女生的12种方式
  6. 普通人现在入局做抖音短视频晚么 选择项目的标准是什么
  7. 基于ROS的语音控制机器人(一):基本功能的实现
  8. C/C++运行错误收藏
  9. 手机怎么使用涂鸦?分享几个手机视频怎么添加涂鸦的妙招
  10. 在spring security手动 自定义 用户认证 SecurityContextHolder