用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语言编程】实现猜数字游戏相关推荐

  1. c语言编程题猜数字游戏6题,c语言编程—猜数字游戏.doc

    c语言编程-猜数字游戏 计算机实习报告 面向过程编程 用C语言求解实际问题 一.问题描述 游戏类第15个任务--猜数字游戏 计算机从0-9这10个数字中任意选择n个不重复数字(n≤10)组成一个5位数 ...

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

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

  3. C语言习题:猜数字游戏(C语言随机数)

    C语言习题:猜数字游戏(C语言随机数) 需要了解C语言随机数的生成方法: 在C语言中比较常用的随机函数是 rand 函数,它可以随机的产生 0 ~ rand_max 的随机数,定义类型不同最大值也不同 ...

  4. c语言课程设计猜数字游戏报告,C语言课程设计-猜数字游戏报告.doc

    C语言课程设计-猜数字游戏报告 摘要 该软件在Windows系统上为玩家提供猜数字游戏的基本功能,游戏用户可以选择开始游.排行榜查看.帮助等主要功能.当用户选择开始游戏时,系统会提示用户排行榜上猜数字 ...

  5. c语言课程设计猜数字游戏报告,C语言课程设计猜数字游戏报告

    C语言课程设计猜数字游戏报告 C 语言课程设计----猜数字1摘 要该 软 件 在 Windows 系 统 上 为 玩 家 提 供 猜 数 字 游 戏的 基 本 功 能 , 游 戏 用 户 可 以 选 ...

  6. 如何用c语言实现【猜数字游戏】

    万里寻山历百艰而, 一朝见井纵九死以何辞. 不吃学习的苦,  就要吃生活的苦. 目录 ⌚一.前言 ⏰二.游戏逻辑 ⏳三.思维导图 ☎️四.游戏过程 ✒️ 五.代码分析 ⛳1.生成随机数的方法​ ⛳2. ...

  7. 猜数字小c语言游戏课程任务书,C语言课程设计猜数字游戏姚成.doc

    课 程 设 计 报 告 课程名称 C语言程序设计报告 课题名称 猜数字游戏 专 业 电气工程及其自动化 班 级 1104 学 号 23 姓 名 姚成 指导教师 黄晓宇 丁敬忠 谭小兰 2012年 6月 ...

  8. c语言实现通讯录_C语言实现双人猜数字游戏

    点击上方"学士科技",选择"设为星标" 资讯.技术干货第一时间送达! C语言合集(基础.进阶.高级)通通有,点我点我      C语言实例 01.C语言编写简单 ...

  9. c语言编写一个猜数字游戏编写

    1.C语言实现猜数字游戏: #define _CRT_SECURE_NO_WARNINGS//猜数字游戏: // 1.由电脑自动生成一个随机数字 // 2.猜数字#include <stdio. ...

  10. C语言写出猜数字游戏的代码

    猜数字游戏,即电脑生成随机数,根据用户输入猜大猜小最终实现猜对数字 思想:电脑生成随机数跟用户输入的那个数进行比较,若大了或者小了继续猜,这里可以写个死循环知道猜对才可以跳出来 代码如下所示: #in ...

最新文章

  1. 容斥 + 爆搜打表 ---- 2020年南京icpc H.Harmonious Rectangle
  2. IDEA 快捷键 (长期更新)
  3. Java实现数据库表结构导出到Excel
  4. 软件测试自学舞蹈简单,中舞网APP评测:舞蹈初学者必备的APP
  5. 解决springboot配置jackson.date-format不生效的问题
  6. loadrunner 关联匹配多个值
  7. 【ArcGIS微课1000例】0016:ArcGIS书签操作(添加书签、管理书签)知多少?
  8. 【洛谷 1879】玉米田
  9. java 饥饿现象,Java单例模式、饥饿模式代码实例
  10. vuecli3+webpack4优化实践(删除console.log和配置dllPlugin)
  11. 把java复制到e_编写一个程序,将e:\java目录下的所有.java文件复制到e:\jad目录下...
  12. CSS3中的border-radius兼容IE低版本解决方法
  13. ios html清除缓存图片,iOS 清理文件缓存(示例代码)
  14. 一、Django初级
  15. matlab画航线图,【图文详解】如何画出华丽丽的全球航线图
  16. 计算机系统工具没有用户,联想电源管理软件没了怎么办_联想电脑自带的电源管理软件不见了如何找回-win7之家...
  17. viper12a电源电路图_采用VIPer12A的开关电源电路分析(图)
  18. 计算机辅助翻译入门第十章课后答案,计算机辅助翻译简明教程
  19. educoder 1-1Python 计算思维训练——公式编程
  20. 手机上定时日程提醒怎么设置?

热门文章

  1. geotools 影像切片 缩放
  2. 数据结构(C语言)-串
  3. Windows10永久关闭自动更新,禁止windows10自动更新方法!
  4. 海思Hi3798处理器参数,Hi3798芯片详细信息介绍
  5. asp小偷转html,ASP中实现小偷程序的原理和简单示例
  6. 玉禾田环境金蝶云ERP操作手册
  7. (1) IFC格式简介 (Industry Foundation Class)
  8. 应广单片机(MCU单片机科普)
  9. 《Mars说光场》系列文章整理
  10. 如何在MSWord中加入MSAgent