初识C语言之猜数游戏

文章目录

      前言

     一、函数具体介绍

前言:

    首先我先来介绍一下咱们所玩的这个游戏的对手或是对象是电脑。而且之前我们所学的都是通过自己输入一个数字,但如果在这个游戏的编写过程中你已知一个数字在进行猜数,感觉就有点丧失掉了这个游戏的意义。所以接下来要介绍的是那个能实现由电脑自己生成一个数的函数——随机数函数。

一、函数具体介绍

随机函数———rand(),这个函数的返回值是为int类型,所以我们通常要去定义一个int类型的变量,来保存这个函数所返回的值。但这个函数实际上是一个库函数,但并不包含在我们通常使用的那个头文件中,所以我们要想使用这个函数,我们就要引用一个新的头文件——#include<stdlib.h>。

  其次我们还可以通过以对rand()这个式子进行取余的运算同样也可以生成一个随机数的范围。类似与rand()%100,我们就可以将随机数的范围限制在0~100内。

在之前的准备之下,我们可以去生成一个随机的数字,但同时我们生成的这个数字可能是没有变化的例如

第一次执行:

di

第二次执行:

我们可以对比得出生成随机数的顺序是一样的。 

所以我们可以引用srand这个函数来进行调整,同时也还需要时间函数,不过这个时间函数并不需要有返回值,而且要使用这个时间函数,我们要引用一个新的头文件:#include<time.h>

 

二、程序

猜数游戏:

总体代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void meu() {

    printf("*****************************\n");
    printf("********   1. play   ********\n");
    printf("********   0. exit   ********\n");
    printf("*****************************\n");
}
void game() {
    int number = rand() % 100 + 1;//可以生成范围1~100的随机数
    printf("请输入你所猜的数:");
    int guess = 0;
    while (1) {
        scanf_s("%d", &guess);
        if (guess == number) {
            printf("猜对了\n");
            break;
        }
        else if (guess < number) {
            printf("猜小了\n");
        }
        else if (guess > number) {
            printf("猜大了\n");
        }
    }
}
int main()
{
    int input = 0;
    srand((unsigned int)time(NULL));
    do
            {
                meu();
                printf("请选择:>");
                scanf_s("%d", &input);
                switch (input)
                {
                case 1:
                    game();//猜数字的整个逻辑
                    break;
                case 0:
                    printf("退出游戏\n");
                    break;
                default:
                    printf("选择错误,重新选择!\n");
                    break;
                }
            } while (input);
    return 0;
}

  

2.运行结果

如下:


 

总结

以上就是今天我想要分享的全部了,希望我的分享能对大家的学习过程有所帮助,下次再见了.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值