【C语言编程】实现猜数字游戏
用C语言编程的方法来实现我们在生活中经常玩到的一个猜数字小游戏,其主要玩法就是我们编写出一个程序,起先计算机会先自动生成一个数,这个数也就是我们需要去才对的数,然后玩家在这个程序的执行开始后先输入一个数,拿这个猜的数与计算机生成的数进行比较,如果玩家输入的数比计算机生成的数字大,那么屏幕会输出“猜大了”三个字,如果玩家输入的数比计算机生成的数字小,那么屏幕会输出“猜小了”三个字,一直这样来来回回的猜下去,直到玩家猜的数字与计算机生成的数字相同屏幕输出“恭喜你,猜对了”这几个字时游戏结束。
这个猜数字游戏的核心是要用到二分查找的方法和思想,二分查找也叫折半查找,它是一种效率较高的查找方法,但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。也就是说使用二分查找的前提是这个数组必须是有序的,它可以是从小到大排序,它也可以是从大到小排序。
在我们编写的过程中发现我们需要了解到time函数以及它的使用方法,其中time的返回值是一个time_t类型,本质上是一个unsigned long long(表示八个字节的无符号长整形)srand的函数参数是一个unsigned int(四个字节),虽然两者在转换的时候会出现四个字节丢失的情况,但是也不影响我们的目标,我们想要的并不是一个准确的时间只要它的种子不同即可。所以这个我们用到了强制转换,也就是在time前面加上一个(unsigned int),意思就是告诉计算机虽然结果有风险,但是这个风险我们自己负责,这个风险在我们的承受范围之内。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define _CRT_SECURE_NO_WARNINGS
int menu(){
printf("=\n");
printf(“1.开始游戏\n”);
printf(“2.退出游戏\n”);
printf("=\n");
printf(“请输入您的选择:”);
int choice = 0;
scanf_s("%d", &choice);
return choice;
}
void game(){
int to_guess = rand() % 100 + 1;//生成一个随机数,范围是1到100
while (1){
printf(“请输入您要猜的数字:”);//提示用户猜一个数字
int num = 0;
scanf("%d", &num); //输入用户猜的数字
//进行数字的比较,提示用户是猜高了/低了/对了
if (num < to_guess){
printf(“低了\n”);
}
else if (num>to_guess){
printf(“高了\n”);
}
else {
printf(“恭喜您,您猜对了”);
break;
}
}
}
int main(){
srand((unsigned int)time(0));//time的返回值是一个time_t类型,本质上是一个unsigned long long(表示八个字节的无符号长整形)
//srand的函数参数是一个unsigned int(四个字节)
//强制类型的转化
while (1){
int choice = menu();
if (choice == 1){
game();//开始游戏
}
else if (choice == 0){
printf(“再见\n”);//退出游戏
break;
}
else{
printf(“对不起,您的输入有误!”);
}
}system(“pause”);
return 0;
}
运行结果如下:
【C语言编程】实现猜数字游戏相关推荐
- c语言编程题猜数字游戏6题,c语言编程—猜数字游戏.doc
c语言编程-猜数字游戏 计算机实习报告 面向过程编程 用C语言求解实际问题 一.问题描述 游戏类第15个任务--猜数字游戏 计算机从0-9这10个数字中任意选择n个不重复数字(n≤10)组成一个5位数 ...
- 1到100猜数字游戏规则c语言,[C语言课程设计猜数字游戏1.doc
[C语言课程设计猜数字游戏1 课 程 设 计 报 告 课程名称 C语言程序设计报告 课题名称 猜数字游戏 专 业 电气工程及其自动化 班 级 1104 学 号 33 姓 名 张腾 指导教师 黄晓宇 丁 ...
- C语言习题:猜数字游戏(C语言随机数)
C语言习题:猜数字游戏(C语言随机数) 需要了解C语言随机数的生成方法: 在C语言中比较常用的随机函数是 rand 函数,它可以随机的产生 0 ~ rand_max 的随机数,定义类型不同最大值也不同 ...
- c语言课程设计猜数字游戏报告,C语言课程设计-猜数字游戏报告.doc
C语言课程设计-猜数字游戏报告 摘要 该软件在Windows系统上为玩家提供猜数字游戏的基本功能,游戏用户可以选择开始游.排行榜查看.帮助等主要功能.当用户选择开始游戏时,系统会提示用户排行榜上猜数字 ...
- c语言课程设计猜数字游戏报告,C语言课程设计猜数字游戏报告
C语言课程设计猜数字游戏报告 C 语言课程设计----猜数字1摘 要该 软 件 在 Windows 系 统 上 为 玩 家 提 供 猜 数 字 游 戏的 基 本 功 能 , 游 戏 用 户 可 以 选 ...
- 如何用c语言实现【猜数字游戏】
万里寻山历百艰而, 一朝见井纵九死以何辞. 不吃学习的苦, 就要吃生活的苦. 目录 ⌚一.前言 ⏰二.游戏逻辑 ⏳三.思维导图 ☎️四.游戏过程 ✒️ 五.代码分析 ⛳1.生成随机数的方法 ⛳2. ...
- 猜数字小c语言游戏课程任务书,C语言课程设计猜数字游戏姚成.doc
课 程 设 计 报 告 课程名称 C语言程序设计报告 课题名称 猜数字游戏 专 业 电气工程及其自动化 班 级 1104 学 号 23 姓 名 姚成 指导教师 黄晓宇 丁敬忠 谭小兰 2012年 6月 ...
- c语言实现通讯录_C语言实现双人猜数字游戏
点击上方"学士科技",选择"设为星标" 资讯.技术干货第一时间送达! C语言合集(基础.进阶.高级)通通有,点我点我 C语言实例 01.C语言编写简单 ...
- c语言编写一个猜数字游戏编写
1.C语言实现猜数字游戏: #define _CRT_SECURE_NO_WARNINGS//猜数字游戏: // 1.由电脑自动生成一个随机数字 // 2.猜数字#include <stdio. ...
- C语言写出猜数字游戏的代码
猜数字游戏,即电脑生成随机数,根据用户输入猜大猜小最终实现猜对数字 思想:电脑生成随机数跟用户输入的那个数进行比较,若大了或者小了继续猜,这里可以写个死循环知道猜对才可以跳出来 代码如下所示: #in ...
最新文章
- 容斥 + 爆搜打表 ---- 2020年南京icpc H.Harmonious Rectangle
- IDEA 快捷键 (长期更新)
- Java实现数据库表结构导出到Excel
- 软件测试自学舞蹈简单,中舞网APP评测:舞蹈初学者必备的APP
- 解决springboot配置jackson.date-format不生效的问题
- loadrunner 关联匹配多个值
- 【ArcGIS微课1000例】0016:ArcGIS书签操作(添加书签、管理书签)知多少?
- 【洛谷 1879】玉米田
- java 饥饿现象,Java单例模式、饥饿模式代码实例
- vuecli3+webpack4优化实践(删除console.log和配置dllPlugin)
- 把java复制到e_编写一个程序,将e:\java目录下的所有.java文件复制到e:\jad目录下...
- CSS3中的border-radius兼容IE低版本解决方法
- ios html清除缓存图片,iOS 清理文件缓存(示例代码)
- 一、Django初级
- matlab画航线图,【图文详解】如何画出华丽丽的全球航线图
- 计算机系统工具没有用户,联想电源管理软件没了怎么办_联想电脑自带的电源管理软件不见了如何找回-win7之家...
- viper12a电源电路图_采用VIPer12A的开关电源电路分析(图)
- 计算机辅助翻译入门第十章课后答案,计算机辅助翻译简明教程
- educoder 1-1Python 计算思维训练——公式编程
- 手机上定时日程提醒怎么设置?