陌七175
2021-06-29 18:29
采纳率: 75%
浏览 18

c语言猜数字问题求解决

一、问题描述:该游戏可以由程序随机产生或由用户输入四个0到9之间的数字,且不重复。玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。二、功能要求:本游戏显示这样的菜单:(1) 随机产生数据(2) 用户输入数据(3) 退出游戏游戏成功与否都能返回主菜单三、算法提示:数据结构:数组用简单的程序设计方法四、测试数据:测试数据: 3792第一次输入: 12340A2B第二次输入: 56780A1B第三次输入: 08670A1B第四次输入: 97861A1B第五次输入: 17942A0B第六次输入: 27932A2B第七次输入: 37924A0B游戏成功!!!五、其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能,如:破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • CSDN专家-黄老师 2021-06-29 19:13
    已采纳

    参考一下:

    #include<stdio.h>
    #include<time.h.>
    #include<stdlib.h>
    void menu()//菜单
    {
        printf("*********************\n");
        printf("****1.play 0.exit****\n");//选择“1”表示“玩游戏”
        printf("*********************\n");//选择“0”表示“退出”
    }
    void play_game()//玩游戏
    {
        int rand_num = rand() % 100;//随机产生0~99范围内的整数
        int tmp = 0;
        while (1)
        {
            printf("请输入你猜的数字:");
            scanf("%d", &tmp);
            if (tmp == rand_num)
            {
                printf("猜对了\n");
                break;
            }
            else if (tmp > rand_num)
            {
                printf("猜大了\n");
            }
            else
            {
                printf("猜小了\n");
            }
        }
    }
    int main()
    {
        int input = 0;
        srand((unsigned int)time(NULL));//srand是随机数发生器的初始化函数
        //为了防止每次玩游戏时随机产生的数字重复,常使用time函数获得系统时间以初始化
        do
        {
            menu();
            printf("请选择:");
            scanf("%d", &input);
            switch (input)
            {
            case 1:
                play_game();
                break;
            case 0:
                exit(EXIT_SUCCESS);
                break;
            default://当输入菜单中不存在选项时,提醒玩家“选择错误”
                printf("选择错误.\n");
                break;
            }
        } while (input);
        system("pause");
        return 0;
    }
    已采纳该答案
    打赏 评论

相关推荐 更多相似问题