C语言之猜数字小游戏

哈喽,大家好!我是冰淇淋加点糖。今天我们来用前面所学的知识来开发一个猜数字的小游戏,锻炼我们的编程能力和编程思维。

猜数字小游戏功能简介

1.随机生成一个1-100的数字。
2.玩家用户开始猜数字。
    > 猜大了,提醒猜大了,继续猜。
    > 猜小了,提醒猜小了,继续猜。
    > 猜对了,恭喜猜对了,结束游戏。
3.玩了一局如果想再玩一局可以继续玩,不用退出程序。

猜数字小游戏开发

菜单程序

设置一个游戏初始化的菜单,让玩家选择开始游戏还是结束游戏。

void menu()
{printf("********** 快来参加猜数字游戏吧 **********\n");printf("*************  1 >play game  *************\n");printf("*************  0 >exit game  *************\n");
}

小游戏主程序

设置随机种子,并且使得玩家在游戏菜单进行选择时,可以正确跳转开始游戏或者结束游戏。

int main()
{srand((unsigned int)time(NULL));//设置随机种子int input = 0;do{menu();scanf("%d", &input);switch (input){case 1:game();break;case 0:break;default:break;}} while (input);return 0;
}

猜数字逻辑程序

step1:生成1-100之间的随机数。

step2:玩家输入所猜测数字,程序界面进行交互应答,反馈玩家猜大或者猜小,直到玩家猜对数字,游戏结束。

void game()
{int ans = rand() % 100 + 1;//生成1-100之间的随机数int guess = 0;printf("请输入你猜测的数字>\n");do{scanf("%d", &guess);if (guess > ans){printf("猜大了\n");}else if (guess < ans){printf("猜小了\n");}else{printf("猜对了\n");}} while (guess != ans);
}

知识拓展

rand()

rand()函数可以生成随机数,随机数的范围是0-32767之间,使用rand()函数需要包含头文件stdlib.h (注:cstdlib是C++中的头文件)。

srand()

 srand()是一个初始化随机数的生成器,即对于调用srand中使用的每个不同值,伪随机数生成器可以预期在后续调用rand()函数中生成不同的连续结果。srand()函数在整个程序中只需要调用一次。

为了每次生成不同的随机数,要给srand传递一个变化的值。而时间是时刻变化着的,在srand函数传入时间戳即可生成每次猜数字是不同的答案。

srand((unsigned int)time(NULL));//生成随机种子

完整代码

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
#include<time.h>
#include<stdlib.h>void menu()
{printf("********** 快来参加猜数字游戏吧 **********\n");printf("*************  1 >play game  *************\n");printf("*************  0 >exit game  *************\n");
}void game()
{int ans = rand() % 100 + 1;//生成1-100之间的随机数int guess = 0;printf("请输入你猜测的数字>\n");do{scanf("%d", &guess);if (guess > ans){printf("猜大了\n");}else if (guess < ans){printf("猜小了\n");}else{printf("猜对了\n");}} while (guess != ans);
}int main()
{srand((unsigned int)time(NULL));int input = 0;do{menu();scanf("%d", &input);switch (input){case 1:game();break;case 0:break;default:break;}} while (input);return 0;
}

小游戏运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-27浅谈XILINX BRAM的基本使用

软件版本&#xff1a;VIVADO2021.1 操作系统&#xff1a;WIN10 64bit 硬件平台&#xff1a;适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台&#xff1a;米联客-MLK-H3-CZ08-7100开发板 板卡获取平台&#xff1a;https://milianke.tmall.com/ 登录“米联客”FPGA社区 http…

C#/WinForm 演示遗传算法

一、一览 二、遗传算法流程 种群初始&#xff1a;随机生成一组N个DNA&#xff0c;每个DNA上都有S个基因&#xff0c;每个DNA都有自己的r值&#xff08;适度值&#xff09;。r最大的DNA为种群最优。 选择操作&#xff1a;将每个DNA的r值占总体的比例作为新一代选取的概率&#…

2024 【Delphi 12】苹果ios开发环境配置(五星保姆级)

目录 一、创建证书 1. 创建证书签名请求&#xff1a;&#xff08;在苹果电脑上操作&#xff09;&#xff1a; .certSigningRequest 文件 2. 创建证书&#xff1a;在苹果的 开发者网站 上操作 重复以上步骤并下载对应的证书文件如下&#xff1a; 3. 创建标识符&#xff08;…

Debezium+Kafka:Oracle 11g 数据实时同步至 DolphinDB 运维手册

目前我们已经支持基于开源技术 Debezium Kafka&#xff0c;从 Mysql 和 Oracle 11g 实时同步数据到 DolphinDB 中。由于当前方案涉及到四个程序的部署&#xff0c;而且具体的 Source 同步任务和 Sink 同步任务还需要额外管理&#xff0c;在运维上具有一定难度。 本文将基于 O…

Ecology10中的CAS身份认证问题

单点登录&#xff08;SSO&#xff09;是一种身份验证解决方案&#xff0c;可让用户通过一次性用户身份验证登录多个应用程序和网站。实现SSO的方式有很多种&#xff0c;比如Kerberos、SAML、OAuth2、JWT、OpenID、CAS、LDAP等。 CAS CAS (Central Authentication Service) 最初…

西中区2024年度安全知识竞赛活动方案

为有效预防安全生产事故的发生&#xff0c;深化西中区全体员工对安全生产的认识&#xff0c;切实提升全体人员的安全意识和自我保护能力&#xff0c;夯实安全知识基础&#xff0c;丰富安全文化内涵&#xff0c;推动安全生产工作更加规范化、系统化&#xff0c;根据西中区安全生…

git 回滚的三种方式

按照从旧到新的顺序 你依次提交了 1 2 3 4 5 现在你想回到1 如何操作 第一种方法 hard reset git reset --hard 执行命令后 你会发现 效果实现了 东西都回到了那次更改 但是2345的更改都没了 并且你会发现 你有更新 这是因为这个hard reset 只会改本地的 远程的不改 一更新就…

EasyCVR视频汇聚平台:巧妙解决WebRTC无法播放H.265视频的难题

随着科技的飞速发展&#xff0c;视频监控已经成为现代安全管理不可或缺的一部分&#xff0c;广泛应用于智慧工地、智慧煤矿、智慧工厂、智慧社区和智慧校园等多个领域。在这个过程中&#xff0c;视频编码技术和实时通信技术显得尤为重要。EasyCVR视频汇聚平台&#xff0c;凭借其…

Python爬虫(一文通)

Python爬虫&#xff08;基本篇&#xff09; 一&#xff1a;静态页面爬取 Requests库的使用 1&#xff09;基本概念安装基本代码格式 应用领域&#xff1a;适合处理**静态页面数据和简单的 HTTP 请求响应**。 Requests库的讲解 含义&#xff1a;requests 库是 Python 中一个…

机器人外呼有哪些优势?

机器人外呼&#xff0c;作为一种结合了计算机技术和人工智能技术的自动化工具&#xff0c;具有多重显著优势。以下是其主要优势的详细阐述&#xff1a; ### 1. 高效性 * **大幅提升工作效率**&#xff1a;机器人外呼可以全天候、不间断地进行工作&#xff0c;不受时间、地点和…

pytest+pycharm+HTMLTestReportCN实现接口自动化

前提&#xff1a;已安装pycharm&#xff0c;已配置python环境 第一步&#xff1a;新建一个py类&#xff0c;用来执行all的测试用例 import HTMLTestReportCN import unittest, os, yagmail# -*- coding: utf-8 -*- """ Time &#xff1a; 2024/9/2 14:50 Auth …

/单元测试

承接上文 统一异常处理&#xff0c;封装结果-CSDN博客 ******************************************** 登录业务 Service public class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, Employee> implements EmployeeService {Resourceprivate JwtUtils j…

数据库透明加密的定义与原理

数据库透明加密(TDE)是一种先进的加密技术&#xff0c;主要用于保护存储在数据库中的敏感数据&#xff0c;防止未经授权的访问和数据泄露。以下是对数据库透明加密的详细解析&#xff1a; 一、定义与原理 定义&#xff1a;数据库透明加密是一种在数据库管理系统(DBMS)中集成加密…

苹果笔记本电脑能不能玩游戏?苹果电脑玩游戏咋样?

过去Mac玩不了游戏最大的问题&#xff0c;就是图形API自成一体&#xff0c;苹果既不支持微软的DirectX&#xff0c;同时为了推广自家的Metal图形API&#xff0c;又对OpenGL和Vulkan两大主流的通用API敬而远之。游戏生态、硬件瓶颈让苹果电脑不适合玩游戏。 不过说到底&#xf…

点餐收银小程序

一、项目概述 Hi&#xff0c;大家好&#xff0c;今天分享的项目是《点餐收银小程序》。 系统含管理员/商家/用户三种角色&#xff0c;商家能维护菜式类别、维护菜品信息&#xff0c;用户在小程序能够选择门店&#xff0c;查看门店下各个分类的菜式信息&#xff0c;并进行加购…

ai免费生成ppt软件有哪些?我推荐秒出PPT

现在市面上的ai生成PPT软件非常的多。有收费的&#xff0c;也有不收费的&#xff0c;生成的效果也各不相同。要选择一个性价比高的确实难度不小。 我在使用了不少的产品之后&#xff0c;说一说我的心得。 首先就是&#xff0c;大部分免费的ai生成ppt产品并不好用。我怕不排除…

Cortex-A7的运行模式和寄存器组详解

0 参考资料 ARM Cortex-A(armV7)编程手册V4.0.pdf ARM体系结构与编程第2版2 Cortex-A7运行模式 2.1 运行模式 Cortex-A7共有9种运行模式&#xff0c;如下图所示&#xff1a; 除了用户模式之外其它模式均属于特权模式&#xff0c;在特权模式下处理器可以访问所有系统资源&am…

Golang | Leetcode Golang题解之第384题打乱数组

题目&#xff1a; 题解&#xff1a; type Solution struct {nums, original []int }func Constructor(nums []int) Solution {return Solution{nums, append([]int(nil), nums...)} }func (s *Solution) Reset() []int {copy(s.nums, s.original)return s.nums }func (s *Solu…

使用docker容器部署考试系统

8.30 回顾 1、使用harbor仓库 python --version yum -y update yum -y install python2-pip 部署考试系统 使用docker部署project-exam-system 1、在一台主机内&#xff0c;实现容器的编排看&#xff0c;发布考试系统 2、环境准备 docker docker-compose docker脚本 …

【Next】2. 项目构建

打开 Next.js 的官方文档&#xff1a;https://nextjs.org/docs/getting-started/installation&#xff08;国内文档不够新&#xff09; Next.js 版本 14.2 &#xff0c; Node.js 的版本要求必须 > 18.18。 Next 有两种开发模式&#xff0c;下面讲新的 APP Router。 创建项…