一、问题描述:该游戏可以由程序随机产生或由用户输入四个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包进行边际效应图绘制