广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言编写猜数游戏
  • 404
分享到

C语言编写猜数游戏

2024-04-02 19:04:59 404人浏览 薄情痞子
摘要

C语言写猜数游戏,供大家参考,具体内容如下 这篇文章是给学完并学懂了C语言的分支(选择和循环)结构的朋友看的。 要做一个游戏或者程序先要想好有那些要求,以下是我认为一个猜数游戏必带

C语言写猜数游戏,供大家参考,具体内容如下

这篇文章是给学完并学懂了C语言的分支(选择和循环)结构的朋友看的。

要做一个游戏或者程序先要想好有那些要求,以下是我认为一个猜数游戏必带的要求:

1、自定义猜数范围的起点和终点以及机会次数。
2、生成一个随机数。
3、如果输入猜入的数和生成的随机数相等,就提示猜对了并退出主函数,如果输入猜的数比生成的随机数大,就提示猜大了,如果输入猜的数比生成的随机数小,就提示猜小了,没猜对一次就减一次机会。
4、如果机会为0了,就提示没有机会了并输出随机数。

自定义猜数范围的起点和终点以及机会次数

先来写自定义猜数范围的起点和终点以及机会次数,代码如下:


int start,end,opportUnity;//范围起点 范围终点 机会次数
printf("请输入猜数游戏的范围的起点:");
scanf("%d",&start);
printf("请输入猜数游戏的范围的终点:");
scanf("%d",&end);
printf("请输入猜数游戏的机会次数:");
scanf("%d",&opportunity);

生成一个随机数

生成一个随机数可以用srand()函数和rand()函数,srand()函数作用大致是每次运行生成的随机数都不同。rand()函数作用是生成并返回一个随机数。代码如下:


int random;//随机数
srand((unsigned)time(NULL));//每次运行生成的随机数都不同
random=rand();//默认随机数的范围是0~32767

那么如何生成我们输入的起点和终点那个范围呢,代码如下:


int random;//随机数
srand((unsigned)time(NULL));//每次运行生成的随机数都不同
random=rand()%(end-start)+end;//生成的随机数余(end-start)的结果就是一个不大于(end-start)的数,最后加上start之后就得到了

一个不小于start并且不大于end的数,就可以控制范围了

srand()函数

srand()函数是随机数发生器的初始化函数,函数原型为:void srand(unsigned seed);,所在头文件为:#include <stdlib.h>。

它会初始化并提供一个随机种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数,比如:srand(1);,直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用time函数来获得系统时间,它的返回值为从00:00:00GMT,January1,1970 到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型再传给srand函数,即:srand((unsigned)time(&t));,还有一个经常用法,不需要定义time_t型t变量,即: srand((unsigned)time(NULL)); 直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的数据。

其实计算机并不能产生真正的随机数,而是已经编写好的一些无规则排列的数字存储在电脑里,把这些数字划分为若干相等的N份,并为每份加上一个编号用srand()函数获取这个编号,然后rand()就按顺序获取这些数字,当srand()的参数值固定的时候,rand()获得的数也是固定的,所以一般srand的参数用time(NULL),因为系统的时间一直在变,所以rand()获得的数,也就一直在变,相当于是随机数了。只要用户或第三方不设置随机种子,那么在默认情况下随机种子来自系统时钟。如果想在一个程序中生成随机数序列,需要至多在生成随机数之前设置一次随机种子。 即:只需在主程序开始处调用srand((unsigned)time(NULL)); 后面直接用rand就可以了。不要在for等循环放置srand((unsigned)time(NULL));

rand()函数

rand()函数作用是生成并返回一个随机数,函数原型为:int rand(void);,所在头文件为:#include <stdlib.h>。

rand()函数每次调用前都会查询是否调用过srand(seed),是否给seed设定了一个值,如果有那么它会自动调用srand(seed)一次来初始化它的起始值。若之前没有调用srand(seed),那么系统会自动给seed赋初始值,即srand(1)自动调用它一次。

总结以上代码

目前为止,我们做了自定义猜数范围的起点和终点以及机会次数、生成一个随机数,目前全部代码如下:


#include <stdio.h>
#include <stdlib.h>//srand()函数和rand()函数头文件
#include <time.h》>//time()函数的头文件
int main()
{
    int start,end,opportunity,random;//范围起点 范围终点 机会次数 随机数
    srand((unsigned)time(NULL));//每次运行生成的随机数都不同
    printf("请输入猜数游戏的范围的起点:");
    scanf("%d",&start);
    printf("请输入猜数游戏的范围的终点:");
    scanf("%d",&end);
    printf("请输入猜数游戏的机会次数:");
    scanf("%d",&opportunity);
    random=rand()%(end-start)+start;//生成的随机数余(end-start)的结果就是一个不大于(end-start)的数,最后加上start之后就得到了一个不小于start并且不大于end的数,就可以控制范围了
    return 0;
}

比较输入的数与随机数的大小来做相应的事

如果输入猜入的数和生成的随机数相等,就提示猜对了并退出主函数,如果输入猜的数比生成的随机数大,就提示猜大了,如果输入猜的数比生成的随机数小,就提示猜小了,没猜对一次就减一次机会,代码如下:


while(opportunity--)//只要没有猜对一次,机会就少一次
{
    scanf("%d",&guess);//输入需要猜的数
    if(guess==random)//当猜的数和随机数相等,说明猜对了
    {
        printf("猜对了!\n");//提示猜对了
        return 0;//直接退出函数
    }
    else if(guess>random)//当猜的数比随机数大
        printf("猜大了!剩余机会次数为%d次\n",opportunity);//提示猜大了和剩余机会次数
    else if(guess<random)//当猜的数比随机数小
        printf("猜小了!剩余机会次数为%d次\n",opportunity);//提示猜小了和剩余机会次数
}
printf("没有机会了,正确答案是%d",random);//没有退出函数就说明机会用完了并且没有猜对,就提示没有机会了并揭晓答案

总结以上代码


#include <stdio.h>
#include <stdlib.h>//srand()函数和rand()函数头文件
#include <time.h>//time()函数的头文件
int main()
{
    int start,end,opportunity,random,guess;//范围起点 范围终点 机会次数 随机数 猜的数
    srand((unsigned)time(NULL));//每次运行生成的随机数都不同
    printf("请输入猜数游戏的范围的起点:");
    scanf("%d",&start);
    printf("请输入猜数游戏的范围的终点:");
    scanf("%d",&end);
    printf("请输入猜数游戏的机会次数:");
    scanf("%d",&opportunity);
    random=rand()%(end-start)+start;//生成的随机数余(end-start)的结果就是一个不大于(end-start)的数,最后加上start之后就得到了一个不小于start并且不大于end的数,就可以控制范围了
    printf("请在%d到%d之内猜数字,你有%d次机会:\n",start,end,opportunity);
    while(opportunity--)//只要没有猜对一次,机会就少一次
    {
        scanf("%d",&guess);//输入需要猜的数
        if(guess==random)//当猜的数和随机数相等,说明猜对了
        {
            printf("猜对了!\n");//提示猜对了
            return 0;//直接退出函数
        }
        else if(guess>random)//当猜的数比随机数大
            printf("猜大了!剩余机会次数为%d次\n",opportunity);//提示猜大了和剩余机会次数
        else if(guess<random)//当猜的数比随机数小
            printf("猜小了!剩余机会次数为%d次\n",opportunity);//提示猜小了和剩余机会次数
    }
    printf("没有机会了,正确答案是%d",random);//没有退出函数就说明机会用完了并且没有猜对,就提示没有机会了并揭晓答案
    return 0;
}

测试代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C语言编写猜数游戏

本文链接: https://www.lsjlt.com/news/135770.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言编写猜数游戏
    C语言写猜数游戏,供大家参考,具体内容如下 这篇文章是给学完并学懂了C语言的分支(选择和循环)结构的朋友看的。 要做一个游戏或者程序先要想好有那些要求,以下是我认为一个猜数游戏必带...
    99+
    2022-11-12
  • C语言版猜数字小游戏
    本文实例为大家分享了C语言版猜数字小游戏的具体代码,供大家参考,具体内容如下 清楚实现目标 做任何一个小项目之前,我们首先都需要明确自己想要实现的目标. 所以猜数字游戏的实现目标是啥...
    99+
    2022-11-12
  • C语言实现猜数字小游戏
    利用C语言代码实现猜数字小游戏: #include <stdlib.h> #include <stdio.h> #include <time.h&g...
    99+
    2022-11-12
  • C语言怎么猜数字小游戏
    这篇文章主要讲解了“C语言怎么猜数字小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言怎么猜数字小游戏”吧!清楚实现目标做任何一个小项目之前,我们首先都需要明确自己想要实现的目标.所...
    99+
    2023-06-17
  • 详解C语言实现猜数字游戏
    目录一:猜数字游戏基本介绍&对程序预期二:程序设计思路1.总体思路:2.菜单部分函数:3.游戏部分函数4.主函数部分5.代码主体三:总结前言:本文主要讲解以c语言编写猜数字游...
    99+
    2022-11-13
  • 基于C语言实现猜数字游戏
    前言 系统生成一个【1,100】之间数字,用户随便输入一个整数,如果用户输入的数字比系统生成的数字小,提示“猜低了”,如果用户输入的数字比系统生成的数字大提示猜高了,如果相同,提示猜...
    99+
    2022-11-12
  • C语言实现简单猜数字游戏
    前言 对于c语言初学者来说用c语言实现猜数字游戏是基本的问题,本篇文章会细致的讲解如何用代码来实现猜数字游戏。希望读者在阅读本篇博客前学习玩分支与循环和最基本的c语言语法知识。 提示...
    99+
    2022-11-12
  • C语言代码实现猜数字游戏
    目录前言:一:猜数字游戏基本介绍&对程序预期二:程序设计思路1.总体思路:2.菜单部分函数:3.游戏部分函数4.主函数部分5.代码主体三:总结前言: 本文主要讲解以c语言编写...
    99+
    2022-11-12
  • c语言猜数字游戏代码要点
    这篇文章主要为大家详细介绍了c语言猜数字游戏代码要点,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:实现效果如图:代码如下:#include<stdio.h>#include<stdlib.h...
    99+
    2023-06-06
  • C语言实现猜拳游戏的代码怎么写
    本篇内容主要讲解“C语言实现猜拳游戏的代码怎么写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言实现猜拳游戏的代码怎么写”吧!一、游戏逻辑打印选择菜单(1.play,0.exit)提示玩家0...
    99+
    2023-06-30
  • 利用C语言实现猜数字小游戏
    本文实例为大家分享了C语言实现猜数字小游戏的具体代码,供大家参考,具体内容如下 实现猜数字的游戏: 要用程序完成以下几步: 1、电脑自动生成随机数(1到100之间的数字) 2、玩家输...
    99+
    2022-11-12
  • c语言轻松实现猜数字小游戏
    目录一、前言二、游戏逻辑三、思维导图  四、游戏过程  五、代码分析1.生成随机数的方法2.设置随机数范围的方法六、完整代码一、前言     ...
    99+
    2022-11-13
  • C语言实现简单猜数字小游戏
    本文实例为大家分享了C语言实现简单猜数字小游戏的具体代码,供大家参考,具体内容如下 猜数字游戏是令游戏机随机产生一个100以内的正整数 用户输入一个数对其进行猜测,需要你编写程序自动...
    99+
    2022-11-12
  • C语言实现简单的猜数字游戏
    本文实例为大家分享了C语言实现简单的猜数字游戏的具体代码,供大家参考,具体内容如下 1.游戏介绍 此游戏是电脑随机生成一个1-99的数字(生成数字范围可自行更改),然后玩家一直猜数字...
    99+
    2022-11-12
  • c语言怎么实现猜数字小游戏
    本篇内容介绍了“c语言怎么实现猜数字小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前言      &...
    99+
    2023-06-30
  • C语言编写汉诺塔游戏
    目录汉诺塔的游戏规则:当A只有一个环的时候:当A只有两个环的时候:当A只有三个环的时候:思路:当n=1时:当n=2时:当n=3时:当n=4时:见代码运行截图总结汉诺塔的游戏规则:  ...
    99+
    2022-11-12
  • JavaScript编写猜拳游戏
    本文实例为大家分享了JavaScript编写猜拳游戏的具体代码,供大家参考,具体内容如下 HTML代码: <!DOCTYPE html> <html lang=...
    99+
    2022-11-12
  • 使用C语言制作一个猜数字游戏
    本篇文章为大家展示了使用C语言制作一个猜数字游戏,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的...
    99+
    2023-06-15
  • C语言详解实现猜数字游戏步骤
    目录前言一、猜数字游戏是什么二、使用步骤总结前言 本文详细介绍了猜数字游戏的具体实现逻辑 一、猜数字游戏是什么 1、电脑自动生成一个1-100以内的数字 2、我们输入一个我们猜的数字...
    99+
    2022-11-13
  • c语言猜数字1到100游戏怎么实现
    以下是一个实现C语言猜数字1到100游戏的示例代码:```c#include #include #include int main(...
    99+
    2023-08-15
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作