1. 电脑随机产生1000—9999之间的数字(包括1000、9999);
提示:用rand函数,该函数在stdlib.h库中,并保证多次运行产生不同的随机数
2. 玩家每轮有七次猜数的机会,如果七次都没有猜到,则失败,判为0分;
3. 玩家每轮可以请求帮助,提问关于产生数字的信息,扣分细则如下;
4. 游戏以百分制形式,初始分为100,最后得分最多为赢家。
帮助内容及扣分细则:
. 判断你所猜的数中各位数字对应位置正误情况,以R表正确,E表错误。若随机数是2537,而猜的数是1234,则输出EERE,代表猜的数第3位正确,第1,2,4位错误。
——扣当前分数的1/10
. 判断你所猜的数中正确数字是什么。若随机数是2537,而猜的数是1234,则输出有两个数字正确,它们是2,3。 ——扣当前分数的1/10
一道关于C语言的题目求帮助!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- xiao_quande 2016-12-15 09:54关注
我用java写了一个希望楼主可以参考一下 而写分数的计算可能有点偏差,楼主可以改一改分数的计算方法 互勉
public static void main(String[] args) {int random_number=(int)(Math.random()*(9999-1000+1)+1000);//定义一个随机数 String data=String.valueOf(random_number); //将随机数转化为 String类型 是一个字符串类型 int number=7;//定义一个游戏的次数 int score=100;//游戏的初始分数为100 while(number>0){ //第一次游戏开始 会循环7次 System.out.println(random_number); //这次输出随机数 方便测试 System.out.println("请输入数字");//提醒玩家输入数字 Scanner s = new Scanner(System.in);//java中的接收用户输入的类 String str=""; //定义一个用于接收用户输入的字符串的str String position=""; //记录下玩家正确位置的数字 str=s.next(); //接收用户输入的数字 while(!str.matches("^\\d{4}$")){ //这里用正则表达式验证用户是否输入正确的数据,不能让玩家输入除了数字以外的符号 System.out.println("输入格式有误,请重新输入 \n"); //如果玩家输错了 就提示 str=s.next(); //重新接收玩家的输入的数字 } String results=""; //定义一个结果用于反馈用户输入正确与否 for(int i=0;i<str.length();i++){ if(data.charAt(i)==str.charAt(i)){ //比较玩家输入的数字与随机数之间是否相等 results+="R"; //相等则正确 输出一个R int j=i+1; //因为数字位置从0开始的 因此要加1 position+=""+j; //记录下数字正确的位置 }else{ results+="E"; } } if(results.contains("E")){ //如果结果中村E 则有错误 应在分数中扣10分 System.out.println("猜测中存在错误,结果为"+results); score=score-10; System.out.println("正确的位置有"+position+","+"分数:"+score); }else{ System.out.println("恭喜猜对全部数字,游戏结束"); System.out.println(score);//如果玩家都输入正确就跳出循环,并显示最后分数 break; } number--; System.out.println("你还有"+number+"次机会"); if(number==0){ System.out.println("没有猜对,游戏结束!"); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
- ¥20 OPENVPN连接问题
- ¥15 flask实现搜索框访问数据库
- ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
- ¥20 白日门传奇少一个启动区服和启动服务器的快捷键,东西都是全的 , 他们说套一个出来就行了 但我就是弄不好,谁看看,
- ¥100 如何用js写一个游戏云存档
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题