文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用C语言制作一个猜数字游戏

2023-06-15 00:46

关注

本篇文章为大家展示了使用C语言制作一个猜数字游戏,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

C语言是什么

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译、处理低级存储器。

一、先生成一个【1,100】的随机整数

C语言的标准库中已经包含了很多现成的功能,rand可以生成一个随机整数,可以查阅cplusplus文档。浏览器输入www.cplusplus.com。cstdlib这是C++风格的写法,stdlib.h是C语言风格的写法,C++也可以用stdlib.h.C语言中函数参数如果没有,可以直接写(),也可以写作(void),但是返回值不可忽略void,一些老的编译器例如VC6,函数的返回值也可以忽略,如果省略返回值,表示返回值类型为int。

使用C语言制作一个猜数字游戏

由上述文章可以看出,我们要生成【1,100】的随机整数,是rand()%100+1
注意:这里提示大家:rand这个函数以后在工作中,要谨慎使用,多线程,rand函数线程不安全,实际开发中如果对于随机数要求的不严格的话,就可以有很多中代替rand的方案来实现,例如,可以使用某个变量的地址来代替。

二、提示用户进行交互

加上一个和用户交互的菜单。代码如下:

int menu(){ printf("*********************\n"); printf("欢迎来到猜数字游戏!\n"); printf("1.开始游戏\n"); printf("2.退出游戏\n"); printf("请输入您的选择\n"); printf("*********************\n"); int choice = 0; scanf("%d", &choice); return choice;}

三、伪随机和真随机

伪随机数是通过一定算法获得一个随机的值,并不是真的随机。
真随机数是伴随着物理实验的,比如:抛硬币、掷骰子、电子元件的噪音、核裂变等,他的结果符合三大特性的。是真实的随机数。
当我们就按rand来执行程序时,会发现每次执行的随机数都是一样的,这就是伪随机。那么如何生成真正的随机数呢,我们可以使用srand。只需要让每次执行程序的时候,设置的随机种子不一样即可,我们就会想到时间,时间是永远在变化的。计算机里表示时间,正是通过整数的方式来表示的,叫做时间戳,是很重要的。时间戳是以1970年1月1日0时0分0秒为基准时刻,计算当前时刻和基准时刻的秒数之差。
time(0)获取时间戳,需要包含头文件time.h。time函数返回类型叫time-t,time本质上是一个unsigned long long。所以会需要强制类型转换,把time-t结果强制转换为unsigned int。(这样做也许会丢数据,目的是为了让编译器不必提示这个警告)。
srand((unsigned int)time(0));

四、整体程序实现

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>int menu(){ printf("*********************\n"); printf("欢迎来到猜数字游戏!\n"); printf("1.开始游戏\n"); printf("2.退出游戏\n"); printf("请输入您的选择\n"); printf("*********************\n"); int choice = 0; scanf("%d", &choice); return choice;}void game(){ printf("开始一局猜数字游戏\n"); int toGuess = rand() % 100 + 1; while (1) {  int inputNum = 0;  printf("请猜一个1-100的整数\n");  scanf("%d", &inputNum);  if (inputNum > toGuess) {   printf("猜高了!\n");  }  else if (inputNum < toGuess) {   printf("猜低了!\n");  }  else {   printf("猜对了!\n");   break;  } }}int main(){ srand((unsigned int)time(0)); int choice = menu(); while (1) {  if (choice == 1) {   game();   break;  } else if (choice == 0) {   printf("goodbye!\n");   break;  } else {   printf("您的输入有误!\n");   }  }  system("pause");  return 0;}}

上述内容就是使用C语言制作一个猜数字游戏,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯