c语言入门练习《猜数字》

一个经典的入门练习题

重点知识内容包括

(1)如何生成随机数

(2)if语句的使用

逻辑方面仍有需要改进的地方,希望大神可以提出来,感谢!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()                    //菜单函数
{
    printf("#########猜数字游戏#########\n");
    printf("##########游戏规则##########\n");
    printf("#####系统随机生成一个整数####\n");
    printf("#您需要通过键盘输入你猜的数字#\n");
    printf("####系统会提示过大还是过小####\n");
    printf("######每次游戏有10次机会######\n");
    printf("#########输入1开始游戏########\n");
}
int main()
{
    menu();
    int game;                        //设置游戏标志位。
    scanf("%d",&game);  
    srand((unsigned int)time(NULL)); 
    //给time函数一个空指针NULL,便会返回一个时间戳,
    //这个时间戳是随时间不断变化的,
    //srand()函数需要一个无符号整型的种子参数来生成随机数
    switch(game)
    {
        case 1:
        break;
        default:
        printf("输入错误,游戏退出");
    }
    while(game==1)
    {
        
        int a=rand()%100,b;             
        //生成[0-100]的随机数a,生成[0,a]的范围就让rand()%a 
        //b为用户输入的数
        int count=0;                //游戏次数 
        int flag=1;                 
        //判断标志位
        //flag为1时进行游戏
        //flag为0时结束游戏
        printf("随机数生成完毕,你觉得是?\n");       
        while(flag)
        {
            
            scanf("%d",&b);
            if(b<a)
            {
                printf("太小了,再来一次吧\n");
            }
            else if(b>a)
            {
                printf("太大了,再来一次吧\n");
            }
            else
            {
                printf("猜对了,真厉害!\n");
                flag =0;
                //判断标志位置0
            }
            count++;
            //一个判断周期结束就给判断次数加一
            if(count==10)
            {
                printf("失败次数太多了哟,游戏结束\n");
                flag =0;
                判断标志位置0
            }      
        }
        printf("输入1继续,0退出\n");
        scanf("%d",&game);
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值