首页 > 编程笔记

C语言猜数字游戏(附带源码)

所谓猜数字游戏,指的是随机生成一个 1~9 之间的任意整数作为被猜数字,由玩家尝试猜出这个数字。游戏过程中,玩家每猜一个数字,游戏会告知他是猜大了还是猜小了,直到猜中为止,同时游戏会统计猜的次数。

接下来,我们将带领大家用 C 语言标准库中的输入输出函数、随机函数等,编程实现一个猜数字游戏。

猜数字游戏的实现代码

如下为实现猜数字游戏的 C 语言程序:
#include <stdio.h>               /*包含标准输入输出头文件*/
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <time.h>
#define MAX 9
int main()
{
    int b = 0;
    int n;                       /*所猜的数字*/
    int sum = 0;                  /*猜数的次数*/
    char array[10];
    int num;
    srand((unsigned)time(NULL));  /*随机数播种函数*/
    num = 1 + rand() % MAX;        /*设定随机数*/
    printf("随机数已经准备好,范围1 ~ 9.\n");
    while (!b)                      /*猜不对就一直循环*/
    {
        sum += 1;
        printf("请输入你猜的数字\n");
        scanf("%s", array);
        if (strlen(array) == 1)
        {
            if (isalpha(*array) != 0)
                printf("请输入数字,不是字母\n");
            else if (ispunct(*array) != 0)
                printf("请输入数字,不是标点符号\n");
            else
            {
                n = atoi(array);
                if (n == num)
                {
                    b = 1;
                    printf("你太聪明了!你共猜了%d次\n", sum);
                }
                else if (n < num && n >= 0)
                    printf("你猜小了!继续努力!\n");
                else if (n > num && n <= 9)
                    printf("你猜大了!继续努力!\n");
            }
        }
        else
            printf("数字范围是1 ~ 9,你输入的数据不对!\n");
    }
    return 0;
}
运行结果:

随机数已经准备好,范围1 ~ 9.
请输入你猜的数字
a
请输入数字,不是字母
请输入你猜的数字
/
请输入数字,不是标点符号
请输入你猜的数字
8
你猜小了!继续努力!
请输入你猜的数字
5
你猜小了!继续努力!
请输入你猜的数字
10
数字范围是1 ~ 9,你输入的数据不对!
请输入你猜的数字
1
你猜小了!继续努力!
请输入你猜的数字
9
你太聪明了!你共猜了7次


本例中,标准输入输出函数、随机函数和循环选择组合,可以完成很多有趣的题目。本范例中通过字符类型判断,对用户错误的输入提示得更准确。

优秀文章