首页 > 其他分享 >猜数字小游戏

猜数字小游戏

时间:2024-12-10 12:29:28浏览次数:6  
标签:guess 数字 int secretNumber 随机数 printf 小游戏 100

1.初始化随机数生成器:使用 srand(time(NULL)) 来确保每次运行程序时生成的随机数不同。
2.生成随机数:使用 rand() % 100 + 1 生成一个1到100之间的随机数。
3.提示信息:告诉用户游戏开始和范围。
4.循环等待用户输入:使用 while (1) 创建一个无限循环,直到用户猜对数字。
5.获取用户输入:使用 scanf 获取用户的猜测。
6.比较猜测与随机数:
        如果猜测小于随机数,提示“太小了”。
        如果猜测大于随机数,提示“太大了”。
        如果猜测等于随机数,提示“恭喜你!猜对了”,并使用 break 退出循环

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    // 初始化随机数生成器
    srand(time(NULL));
    
    // 生成1到100之间的随机数
    int secretNumber = rand() % 100 + 1;
    int guess;

    printf("欢迎来到猜数字游戏!\n");
    printf("我已经想好了一个1到100之间的数字。\n");

    // 循环直到用户猜对数字
    while (1) {
        printf("请输入你的猜测: ");
        scanf("%d", &guess);

        if (guess < secretNumber) {
            printf("太小了!再试一次。\n");
        } else if (guess > secretNumber) {
            printf("太大了!再试一次。\n");
        } else {
            printf("恭喜你!猜对了数字%d。\n", secretNumber);
            break; // 猜对后退出循环
        }
    }

    return 0;
}

运行如下:

而我们又可以增加一点难度,限制一下猜的次数。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    // 初始化随机数生成器
    srand(time(NULL));
    
    // 生成1到100之间的随机数
    int secretNumber = rand() % 100 + 1;
    int guess;
    int attempts = 0;
    int maxAttempts = 5; // 设置最大尝试次数

    printf("欢迎来到猜数字游戏!\n");
    printf("我已经想好了一个1到100之间的数字。\n");
    printf("你有%d次机会来猜这个数字。\n", maxAttempts);

    // 循环直到用户猜对数字或达到最大尝试次数
    while (attempts < maxAttempts) {
        printf("请输入你的猜测: ");
        scanf("%d", &guess);
        attempts++;

        if (guess < secretNumber) {
            printf("太小了!\n");
        } else if (guess > secretNumber) {
            printf("太大了!\n");
        } else {
            printf("恭喜你!你在%d次尝试中猜对了数字%d。\n", attempts, secretNumber);
            return 0; // 猜对后退出程序
        }

        // 提示剩余尝试次数
        if (attempts < maxAttempts) {
            printf("你还剩%d次机会。\n", maxAttempts - attempts);
        }
    }

    // 如果达到最大尝试次数仍未猜对
    printf("很遗憾,你没有在规定次数内猜对数字。正确的数字是%d。\n", secretNumber);
    return 0;
}



这里补充一个知识点:生成随机数我们上篇文章已经讲到了,但如果我们需要生成一定范围的随机数就必须如文中的  int secretNumber = rand() % 100 + 1; 

rand()生成一个随机数而%100将其运算成0~99的数,而我们想生成1~100,便再加上一个1。

那么要生成101~200怎么办呢?当然,我们也可以像上面rand() % 100 + 101;来进行。

快去玩玩这个游戏吧,争取把它学到手。

标签:guess,数字,int,secretNumber,随机数,printf,小游戏,100
From: https://blog.csdn.net/2401_86654548/article/details/144370607

相关文章

  • P1553 数字反转(升级版)
    题目传送门P1553数字反转(升级版)题目描述给定一个数,请将该数各个位上数字反转得到一个新数。这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调。小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与......
  • js中的数字在电脑内存储为多少Byte?
    在JavaScript中,所有的数字都以64位双精度浮点数的形式存储,符合IEEE754标准。这意味着它们占用8个字节(8bytes*8bits/byte=64bits)的内存。需要注意的是,即使是整数,在JavaScript内部也以这种浮点数格式存储。没有独立的整数类型。这与一些其他语言(如C或Ja......
  • 【C++算法】36.位运算_只出现一次的数字 II
    文章目录题目链接:题目描述:解法C++算法代码:解析题目链接:137.只出现一次的数字II题目描述:解法你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。说明时间复杂度O(n),空间复杂度O(1)意外发现出现1次的那个数和所有比特位当前的和%3得......
  • 数字图像处理
    数字图像处理概述相关概念图像:模拟图像:空间坐标和明暗程度是连续变化的,计算机无法直接处理光学图像、连续图像早期的模拟相机拍摄的照片数字图像:二维空间和亮度值(灰度)不连续,用有限、离散数字数值表示的图像,能用计算机处理数字图像的获得:数码相机或者数字摄像仪拍摄,数......
  • 城市基础设施数字化管理:打造安全、智能的城市生命线
    随着数字化转型的深入,城市基础设施生命线的安全管理正面临前所未有的机遇与挑战。城市基础设施,包括交通、能源、供水、排水、通信等,是城市运行的“生命线”,其安全治理直接关系到城市的稳定与人民生活的安全。数字化转型对城市生命线安全治理的影响数字化转型为城......
  • Pytorch 手写数字识别 深度学习基础分享
    本篇是一次内部分享,给项目开发的同事分享什么是深度学习。用最简单的手写数字识别做例子,讲解了大概的原理。手写数字识别展示首先数字识别项目的使用。项目实现过程:训练出模型准备html手写板flask框架搭建简单后端深度学习必备知识介绍机器学习的概念通俗解释机......
  • 智慧仓储数字化解决方案
    一、项目背景冷库是xx市进口冷链食品防控重点,由于数量庞大、分布较为分散且内部环境复杂,实施智慧冷库巡检监测与数据分析服务方案,督促企业落实整改,全面规范冷库的智慧监管。按照市场监督管理局向“科技要人力、向智慧要效率”的建设思路,采用“前端AI 实时巡检+云端AI 分......
  • 头部CRO公司基于魔方网表可配置数字化平台 自主搭建LIMS实验室信息管理系统
    随着数字化浪潮的推进,CRO行业同样面临着前所未有的机遇与挑战。借用数字化工具,对临床试验的一个或多个环节进行优化,通过自动化的手段替代低产能,从结构上变革整个行业。在2018年,美国FDA前局长ScottGottlieb就曾公开指出,借助数字化工具进行数据捕获与审计,可有效降低研发成本。他......
  • 终于解决了.net在线客服系统总是被360误报的问题(对软件进行数字签名)
    https://www.cnblogs.com/sheng_chao/p/18581139 升讯威在线客服与营销系统是基于.netcore/WPF开发的一款在线客服软件,宗旨是: 开放、开源、共享。努力打造.net社区的一款优秀开源产品。背景我在业余时间开发的这个客服系统,有一个问题始终让我饱受困扰,360以及各种国产......
  • 打造校企合作新高地,璞华科技与中南财经政法大学签署金融科技数字化领域合作协议
    2024年12月5日,璞华科技有限公司与中南财经政法大学签约仪式在武汉·光谷隆重举行。此次签约标志着双方将在科学研究、人才培养、学术交流、业务培训、数字化平台建设等方面进行全方位合作,建立稳固长效的合作机制,实现互利共赢互相赋能共同发展。签约仪式前,璞华科技特邀请中南财经......