用C语言实现猜数字游戏

问题:计算机随机生成一个数字,用户进行猜数字,当用户猜错时,提醒用户猜高/猜低,直到用户猜的数字与计算机给的随机数一致时,提示猜对了并结束本次游戏。
思路:整个程序分为三个部分。
1、使用printf完成一个主菜单,方便用户操作。
2、写一个game函数,完成猜数字游戏的过程。
3、主函数,调用game函数,最终实现猜数字游戏。
重点:如何生成一个随机数。
如果直接使用to_guess = rand() % 100 + 1,可以生成一个1~100之间的随机数,但每次重新运行程序,产生的随机数都是固定的,这就需要我们想办法来解决这个问题。通过srand函数来设置随机种子,并借助time函数让每次产生的随机数序列都完全不同。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu() {
        printf("****************************\n");
        printf("         猜数字游戏         \n");
        printf("  1、开始游戏,0、结束游戏  \n");
        printf("         请输入0或1         \n");
        printf("****************************\n");
        return;
}
void game() {
        int num = 0;
        int to_guess = rand() % 100 + 1;
        while (1) {
                 printf("请输入猜的数字:\n");
                 scanf("%d", &num);
                 if (num > to_guess) {
                         printf("高了!\n");
                 }
                 else if (num < to_guess) {
                         printf("低了!\n");
                 }
                 else {
                         printf("恭喜你猜对了!\n");
                         break;
                 }
        }
}
int main() {
        int a;
        menu();
        srand((unsigned int) time(0));
        while (1) {
                printf("请输入您的选择:\n");
                 if (scanf("%d", &a)) {
                         if(a==1) {
                                  game();
                 }
                        else if (a == 0) {
                                  printf("goodbye!\n");
                                  break;
                         }
                         else {
                                  printf("您的输入有误,请重新输入\n");
                         }
                 }
        }
        system("pause");
        return 0;
}

运行结果:
用C语言实现猜数字游戏