猜数字游戏

编译环境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. C语言数组,这个输出模式感觉自己很厉害!_只愿与一人十指紧扣_新浪博客
  2. 開玩樹莓派(二):配置IP,實現無顯示器局域網內Putty連接和RDP遠程
  3. rocketmq中的消息拉取及并发消费理解
  4. linux ubuntu 虚拟机中配置samba的实现文件共享的方法
  5. jquery获取服务器控件的值
  6. [SUCTF2018]babyre [ACTF新生赛2020]fungame
  7. Memcache 和 Radis 比较
  8. azure备份存储层分类_备份到Azure –如何做到这一点?
  9. LeetCode 435. 无重叠区间(贪婪算法)
  10. 计算机窗口显示桌面,Windows Server 2012 R2在桌面上显示计算机/网络图标
  11. 实现音视频编解码工具 MediaCodec 创建解码器
  12. 软件生命周期模型汇总
  13. 【总结】深度学习阶段性总结
  14. Imagination NNA 为 UNISOC 5G 智能手机芯片提供动力
  15. box模型之margin
  16. GDB调试器——GDB调试器简介
  17. GreenDao 数据库 升级 保留之前数据
  18. Tita 如何支持企业完成 360 环评
  19. MySQL最佳基友之PHP入坑指南—白俊遥
  20. 【解决】无线网卡windows仍在设置此设备的类配置,代码56

热门文章

  1. Xftp卸载修复报错1628:完成基于脚本的安装失败
  2. python 公司名称 相似度分析_Python文本相似度分析
  3. (多项式)因式分解定理(Factor theorem)与多项式剩余定理(Polynomial remainder theorem)(多项式长除法)
  4. 咪咕盒子链接服务器失败_咪咕打卡正式开启,你的疑问都可以在这里找答案!...
  5. 校园网环境下的微信同步
  6. 家用无线TP-LINK路由器使用一段时间后,频繁断网解决办法之一
  7. Spire.Doc在Word中插入图片时,自适应宽度设置
  8. 电子人的浪漫--致爱丽丝音乐盒
  9. keytool 错误: java.lang.Exception: 密钥库文件不存在: keystore
  10. 下载没有种子链接用特征码下片的方法