C语言 猜数字游戏 猜1~100之间的数

发布于:2023-01-04 ⋅ 阅读:(427) ⋅ 点赞:(0)

猜数字游戏

猜1~100之间的数

#include<stdio.h>
#include<stdlib.h>
void menu()    //菜单
{
	printf("************************\n");
	printf("****** 1.play    *******\n");
	printf("****** 0.exit    *******\n");
	printf("************************\n");
}

void game()
{
    //rand()函数是生成随机数字0~32767的函数
    //0~32767之间的所有数模100最大为99
    int ret=rand()%100+1;
    int guess=0;
    while(1)
    {
        printf("请输入你猜测的数字:>");
        scanf("%d",&guess);
        if(ret<guess)
        {
            printf("猜大了");
        }
        else if(ret>guess)
        {
            printf("猜小了");
        }
        else
        {
            printf("猜对了%d\n",guess);
            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; 
}

运行结果

运行结果

  思路解析:

1.既然要猜数字,那么就要生成随机的数字,来让我们猜。这就用到了生成随机数的函数 r a n d ( ) 范围 0 到 32767 和 s r a n d ( ) \color{red}{rand()范围0到32767和srand()} rand()范围032767srand()rand()函数每次生成程序启动,生成的随机数都是一样的,可谓是一次性游戏。这里就要使用到srand()函数,让这个函数来读取我们电脑上的时间,这样就可以生成真正意义上的随机数。

2.rand()和srand()都在头文件<stdlib.h>中,所以我们要引用头文件#include<stdlib.h>

3.易出错的点:我们定义随机生成的数为 r e t \color{red}{ret} ret,猜测的数字为 g u e s s \color{red}{guess} guess,在函数==game()==中当我们猜测的数字,比随机数大的时候(ret<guess)我们这里就要打印 猜大了,切不可打印猜小了,否则会导致逻辑混乱,永远也猜不出数字,当(ret>guess)也是同样的道理。

4.剩下的为一些简单的逻辑+语句,不懂可以看我这篇博客if 和 switch 语句

学的不是技术,更是梦想

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到