c语言猜字谜(详解)(后附完整源码)

article/2025/10/6 10:58:26

c语言猜字谜

  • 一.游戏前置
  • 二.游戏实现
    • 1.让电脑生成随机数
    • 2.让玩家重复输入
      • 3.输赢判断

在这里插入图片描述

一.游戏前置

向其他游戏一样,在游戏开始前,我们需要一个菜单让玩家进行选择

所以我们需要以下功能
1.一个能让玩家进行选择的函数(switch)
2.玩完一次后还想玩第二次(do while)
3.一个简易的菜单(menu)

int main()//主函数
{int input = 0;printf("猜数字,1--100之间\n");//do...while循环do{menu();//菜单函数printf("请选择数字:>");scanf("%d", &input);switch (input){case 1:game();//游戏函数break;case 0:printf("已退出游戏\n");break;default:printf("输入错误,请重新输入\n");break;}} while (input);return 0;
}

菜单函数

void menu()
{printf("*******************************\n");printf("*******   1.开始游戏    *******\n");printf("*******   0.退出游戏    *******\n");printf("*******************************\n");
}

二.游戏实现

1.让电脑生成随机数


void game()
{srand((unsigned int)time(NULL));int ret = rand() % 100;//生成100以内的随机数
}

随机数生成方法

2.让玩家重复输入


void game()
{int n = 0;srand((unsigned int)time(NULL));int ret = rand() % 100;while (1){printf("猜数字:");scanf("%d", &n);if (n > ret){printf("猜大了\n");}else if (n < ret){printf("猜小了\n");}else{printf("猜对了\n");break;}}}

加入while循环,让玩家一直猜,这里代码很简单,相信大家一看就懂

3.输赢判断

我们这里设置如果猜了5次还没猜中就输了。
如果在5次里猜中就胜利

在这里插入图片描述

这里就是一个简单的猜数字游戏啦

#include<stdio.h>void menu()
{printf("*******************************\n");printf("*******   1.开始游戏    *******\n");printf("*******   0.退出游戏    *******\n");printf("*******************************\n");
}void game()
{int count = 0;int n = 0;srand((unsigned int)time(NULL));int ret = rand() % 100;while (1){printf("猜数字:");scanf("%d", &n);if (n > ret){printf("猜大了\n");}else if (n < ret){printf("猜小了\n");}else{printf("猜对了\n");break;}count++;if (count > 5){printf("再接再厉哦\n");break;}}}
int main()//主函数
{int input = 0;printf("猜数字,1--100之间\n");//do...while循环do{menu();//菜单函数printf("请选择数字:>");scanf("%d", &input);switch (input){case 1:game();//游戏函数break;case 0:printf("已退出游戏\n");break;default:printf("输入错误,请重新输入\n");break;}} while (input);return 0;
}

在这里插入图片描述


http://chatgpt.dhexx.cn/article/8o29P2ix.shtml

相关文章

猜字谜小游戏

猜字谜小游戏 思路 : 先写一个菜单函数,打印一个菜单,获取用户输入 从菜单函数中调用Game函数 写Game函数里面的内容 从主函数中调用菜单函数 #include<stdio.h> #include<stdlib.h>//里面包含rand函数,system函数 #include<time.h> void Game(void);//声明…

猜字谜游戏

一个非常简单的猜数字游戏&#xff0c;在一个限定的范围内&#xff0c;系统会给出一个随机的未知数&#xff0c;让玩家自己去猜&#xff0c;并且还会根据玩家输入的数给出相应的提示。如下图&#xff1a; 原理很简单&#xff0c;主要通过Random函数构建循环方法&#xff0c;再用…

【Flink】FLink Assigned key must not be null

1.场景1 1.1 概述 flink报错: Caused by: java.lang.NullPointerException: Assigned key must not be null! 具体如下 原因 keyBy的字段不能为null M.参考 Flink运行出现Assigned key must not be null

vuex报错Computed property “xxx“ was assigned to but it has no setter.

当使用vuex存储数据时&#xff0c;常常有这样的需求&#xff1a;输入框显示并动态修改state中的数据。 我们第一个反应就是使用v-model直接绑定state中的数据&#xff0c;虽然确实可以显示和修改&#xff0c;但是控制台会报错&#xff0c;所以不能采取这种方式。 案例如下&…

可编程渲染管线报错 Unity Universal RP asset not assigned

可编程渲染管线报错 Unity Universal RP asset not assigned 解决 1.创建urp资产 创建成功如下图 2.打开Edit > Project Settings… > Graphics 3.设置资产 如果你安装了URP包&#xff0c;当你编写自定义渲染管线时&#xff0c;既是你设置的上图资产也会报同样的错误。…

【Flink】FLink assigned slot xx was removed

1.概述 flink报错 org.apache.flink.util.FlinkException: The assigned slot container_e08_1539148828017_15937_01_003564_0 was removed. at org.apache.flink.runtime

Flink线上问题: The assigned slot container_xxx was removed

Flink线上问题: The assigned slot container_xxx was removed 客户现场使用Flink(on Yarn)进行数据抽取,Source是JDBC,Sink是Kafka,客户反映流程差不多跑10天左右就挂,让我看看. 环境: Flink: 1.5.2 jdk: 1.8.0_25 Hadoop: 2.4.1 jobmanger和TaskManger都分配1G内存 首先…

There‘s no Qt version assigned to project xxx.vcxproj for configuration Debug/x64

Qt系列文章目录 文章目录 Qt系列文章目录前言一、 分析错误原因二、解决步骤1.选择Qt版本2.检查环境变量3.重新构建工程 There’s no Qt version assigned to project xxx.vcxproj for configuration Debug/x64 前言 如果你想了解关于Qt与VS2019开发环境搭建&#xff0c;可以至…

SAP ABAP一组关键字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析

ABAP里的IS BOUND, IS NOT INITIAL和IS ASSIGNED这组关键字&#xff0c;如果平时不留心&#xff0c;很容易理解地似是而非。今天我们就来说一说它们的区别。 先把SAP帮助文档抄过来&#xff1a; IS BOUND It checks whether a reference variable contains a valid referenc…

【FLink】Assigned key must not be null

1.概述 我的flink任务报错Assigned key must not be null,但是我把keyby用到的字段已经提前做了非空过滤,还是偶尔会报这个错。 还没法复现这个问题。 对应的源码位于 public static int assignToKeyGroup(Object key, int maxParallelism) {Preconditions.checkNotNull(k…

xxx is assigned a value but never used 报错

xxx is assigned a value but never used报错 找到路径 package.json文件 -> devDependencies -> rules 添加以下代码 "rules": {"generator-star-spacing": "off","no-debugger": "off","no-tabs": &quo…

There is no Qt version assigned to project

问题描述&#xff1a;最近从用vs2017Qt5.13编写程序&#xff0c;从一台已经编译好的电脑上拷贝到另外一台有vs2017和Qt5.13环境的电脑&#xff0c;但是问题来了&#xff0c;出现了如下图片的描述&#xff1a; 解决方法&#xff1a;首先检查Qt Project Setting&#xff0c;如果界…

Unity Universal RP asset not assigned

Unity Universal RP asset not assigned 问题解决 问题 项目导入URP后&#xff0c;相机出现这个错误 解决 打开Edit > Project Settings… > Graphics在可脚本渲染管道设置字段中&#xff0c;添加前面创建的通用渲染管道资产。 参考: Unity Doc

IDEA报错private field “xxx“ is never assigned解决

文章目录 1.现象2.解决办法 1.现象 在IDEA中&#xff0c;开发Spring项目时&#xff0c;在一个类中使用Autowired注解注入成员变量时&#xff0c;IDEA会在该成员变量上报类似于如下警告&#xff1a; 一开始还以为是代码哪里配置的有问题&#xff0c;以前也没遇到过啊。 暂时怀…

Computed property was assigned to but it has no setter问题随记

初始代码&#xff1a;弹窗使用dialogtablvisible 但是其他位置改变了这个值 在methods中修改了这个属性的值 当该事件发生时会报这个错误Computed property was assigned to but it has no setter 解决方法其实很简单&#xff0c;组件中定义的computed属性缺少setter,使用过co…

前端开发:Vue报错Computed property “show“ was assigned to but it has no setter的解决方法

前言 在前端开发中,使用Vue的时候关于组件使用是非常常见的操作,而且也会遇到各式各样的问题,尤其是刚接触前端开发的开发者。本篇博文分享一下在封装关于Vue的组件的时候,通过计算属性监听父子组件传值提示警告的问题,即:Computed property "show" was assign…

‘xxx‘ is assigned a value but never used.

报这个错误的原因是eslint中的验证语法导致的 解决办法&#xff0c;在报这个错误行后面加上 // eslint-disable-line no-unused-vars即可解决 解决后如下所示&#xff1a;

identity和assigned 的区别

在使用strutshibernate开发过程中&#xff0c;数据的持久化操作时出现了“org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): ”的错误&#xff0c;首先检查了数据库&#xff0c;发现建表时没有把ID设置成…

EditPlus 安装及注册

EditPlus下载链接 密码&#xff1a;ssam 安装过程&#xff1a; 1、解压下载下来的文件 2、解压EditPlus 3.zip 选择解压到EditPlus 3 3、解压密码为 123456 4、打开解压后的文件夹&#xff0c;根据自己的电脑选择文件夹&#xff0c;32位选择“X86”文件夹&#xff0c;64选择“…