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

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;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制