循环与分支——猜数字游戏(下)

简介: 循环与分支——猜数字游戏(下)

对于上节,我们学习了如何产生随机数和选定随机数的范围

接下来,就要开始编写我们的第一个小游戏了

猜数字游戏

编写代码是要有编写逻辑

首先,想一想,我们进入小游戏的时候,会先出现一个开始界面:所以这里就需要do while语句上场了

游戏的开始界面

#define _CRT_SECURE_NO_WARNINGS
 
void menu()       //括号里默认为viod,返回为空
{
    printf("***********************\n");
    printf("****** 1. play ******\n");
    printf("****** 0. exit ******\n");
    printf("***********************\n");
}
int main()
{
    int input;
 
//这里选用do while语句
    do
    {
        menu();                 //这里引用一个函数
        printf("请选择—>");
        scanf("%d", &input);      //这里是选择是否开始游玩 
 
        switch (input)            //运用switch循环,判断用户是否游玩
        {
        case(1):            //这里选择开始游玩·,接下来我就得编写游戏执行程序
            break;
        case(0):
            printf("结束游戏");
            break;
        default:
            printf("输入错误,请重新输入");
            break;
        }
    } while (input);
    return 0;
}

随机数的产生

头文件:
 
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
 
运用上节知识——产生随机数
srand((unsigned int) time(NULL));
void game()
{
    int z = rand() % 100 + 1;      //表示1至99的数
    int guess = 0;
    while (1) {                                    
        printf("请输入你猜的数字\n");
        scanf("%d", &guess);
        if (guess < z) {                      //使用if循环嵌套
            printf("猜小了\n");               //判断用户猜的值与随机数的大小的比较
        }
        else if (guess > z) {
            printf("猜大了\n");
        }
        else {
            printf("恭喜你猜对了\n");
            break;            //跳出循环
        }
    }
        
}

是不是对你来说太简单了!!!

那将这些组织起来吧

————————————————————————————————————————

最后成果

恭喜你获得了你的第一个小游戏

#define _CRT_SECURE_NO_WARNINGS
 
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
 
 
void menu()
{
    printf("***********************\n");
    printf("****** 1. play ******\n");               //游戏进入页面
    printf("****** 0. exit ******\n");
    printf("***********************\n");
}
void game()
{
    int z = rand() % 100 + 1;      //表示1至99的数
    int guess = 0;
    while (1) {                                    
        printf("请输入你猜的数字\n");
        scanf("%d", &guess);
        if (guess < z) {                      //使用if循环嵌套
            printf("猜小了\n");               //判断用户猜的值与随机数的大小的比较
        }
        else if (guess > z) {
            printf("猜大了\n");
        }
        else {
            printf("恭喜你猜对了\n");
            break;            //跳出循环
        }
    }
        
}
 
 
int main()
{
    int input=0;
    srand((unsigned int) time(NULL));       //用时间戳来产生随机数
    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;
}

快去试试看吧!!!



相关文章
|
Java C++ Python
试题 基础练习 字符串对比
试题 基础练习 字符串对比
76 1
|
Linux 网络安全 开发工具
【开发工具】【windows】Visual Studio Code(VS Code)远程Linux服务器环境搭建——SFTP篇
【开发工具】【windows】Visual Studio Code(VS Code)远程Linux服务器环境搭建——SFTP篇
1545 0
【开发工具】【windows】Visual Studio Code(VS Code)远程Linux服务器环境搭建——SFTP篇
|
8月前
|
人工智能 Java 程序员
Java程序员在AI时代必会的技术:Spring AI
在AI时代,Java程序员需掌握Spring AI技术以提升竞争力。Spring AI是Spring框架在AI领域的延伸,支持自然语言处理、机器学习集成与自动化决策等场景。它简化开发流程,无缝集成Spring生态,并提供对多种AI服务(如OpenAI、阿里云通义千问)的支持。本文介绍Spring AI核心概念、应用场景及开发步骤,含代码示例,助你快速入门并构建智能化应用,把握AI时代的机遇。
1827 61
|
数据挖掘 BI
解密辛普森悖论:如何在数据分析中保持清醒头脑
解密辛普森悖论:如何在数据分析中保持清醒头脑
759 0
|
Unix Linux Python
`subprocess`模块是Python中用于生成新进程、连接到它们的输入/输出/错误管道,并获取它们的返回(退出)代码的模块。
`subprocess`模块是Python中用于生成新进程、连接到它们的输入/输出/错误管道,并获取它们的返回(退出)代码的模块。
|
存储 人工智能 边缘计算
前瞻展望,中国信通院即将发布“2024云计算十大关键词”
2024年,AI大模型引领科技趋势,重构云计算,MaaS成新基础服务,推动各行业变革。生成式AI在金融、电商等领域展现巨大潜力。云计算与AI结合加速数字化转型,去年关键词如应用现代化、分布式云等揭示发展潮流。中国信通院何宝宏将在7月的2024可信云大会上发布新关键词,洞察云计算未来。30年来,中国信通院持续推动行业发展,大会将聚集专家共议云计算高质量发展。哪些新关键词将影响行业未来?敬请期待!
261 2
前瞻展望,中国信通院即将发布“2024云计算十大关键词”
|
前端开发 C++ 开发者
ZIG:理解未来编程语言的视角
ZIG:理解未来编程语言的视角
991 0
ZIG:理解未来编程语言的视角
|
机器学习/深度学习 Python
Python应用专题 | 14:pandas分组之后对相同group内的字段进行合并
本文主要介绍在pandas中对数据进行分组后,如何对相同组的数据进行其他字段的合并。类似场景:有2个字段,分别是文本内容和标签值。先根据文本内容进行分组,再对同一个组内的标签值进行合并,从而得到多标签值。

热门文章

最新文章