| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4070 人关注过本帖
标题:求编程解答,感觉这个问题超出了我现有水平
只看楼主 加入收藏
robin123
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2016-4-5
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:8 
求编程解答,感觉这个问题超出了我现有水平
输入一个允许猜测的最大整数n,再输入一个你所猜的整数yournumber,与被猜数mynumber(=88)进行比较,若相等,显示猜中的消息;若不等,
显示与被猜数的大小关系,最多允许猜n次。如果第1次就猜中,显示:“Bingo!”;如果是3次(含)以内猜中的,则显示“Lucky You!”,
如果是超过3次(n次以内)猜中的,显示“Good Guess!”;如果太大,显示“Too bigger!”,如果太小,显示“Too smaller!”;如果超过n次,
则显示“Game Over!”,如果在n次以内,输入了一个负数,则也显示“Game Over!”。
搜索更多相关主题的帖子: bigger Lucky Guess 
2016-04-05 17:57
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:5 
基本的循环比较就能完成

一片落叶掉进了回忆的流年。
2016-04-05 18:02
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:5 
程序代码:
#include<stdio.h>

main()
{
  int n,mynumber=88,yournumber;
  scanf("%d",&n);
  int i;
  for(i=1;i<=n;i++){
    scanf("%d",&yournumber);
    if(yournumber < 0){
       printf("Game over!\n");
       return;
    }
    if(yournumber > mynumber)
       printf("Too bigger!\n");
    else if(yournumber < mynumber)
       printf("Too smaller!\n");
    else if(yournumber==mynumber){
       switch(i){
         case '1':printf("Bingo!\n");break;
         case '2':
         case '3':printf("Lucky you!\n");break;
       }
       if(i>3&&i<=n)
         printf("Good Guess!\n");
    }
  }
  if(i>n)
    printf("Game over!\n");
}


[此贴子已经被作者于2016-4-5 18:17编辑过]


未佩好剑,转身便已是江湖
2016-04-05 18:10
robin123
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2016-4-5
收藏
得分:0 
回复 3楼 alice_usnet
可是你的在输入一个数后没有提示,只有猜对了才有结果。
今天才学switch语句,有点慌
2016-04-05 18:18
robin123
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2016-4-5
收藏
得分:0 
回复 2楼 诸葛欧阳
今天学,有点慌。不知道具体怎么做
2016-04-05 18:19
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:0 
回复 4楼 robin123
已修改

未佩好剑,转身便已是江湖
2016-04-05 18:19
robin123
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2016-4-5
收藏
得分:0 
回复 6楼 alice_usnet
oh,我懂了。那要是加入“输入一个repeat,重复repeat次以下运算”在问题开头该怎么写。我试了一下,好像输入88不会出现输出
2016-04-05 18:35
robin123
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2016-4-5
收藏
得分:0 
回复 7楼 robin123
完整的题目是;
编程:输入一个repeat,重复repeat次以下运算:
输入一个允许猜测的最大整数n,再输入一个你所猜的整数yournumber,与被猜数mynumber(=88)进行比较,若相等,显示猜中的消息;若不等,
显示与被猜数的大小关系,最多允许猜n次。如果第1次就猜中,显示:“Bingo!”;如果是3次(含)以内猜中的,则显示“Lucky You!”,
如果是超过3次(n次以内)猜中的,显示“Good Guess!”;如果太大,显示“Too bigger!”,如果太小,显示“Too smaller!”;如果超过n次,
则显示“Game Over!”,如果在n次以内,输入了一个负数,则也显示“Game Over!”。
求详细解答。O(∩_∩)O谢谢!
2016-04-05 18:42
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:5 
回复 8楼 robin123
这个就是一个简单的猜数游戏,你想要的是算法还是详细的代码?建议还是想下如果是自己玩这个猜数游戏怎么做:不用程序判断。
第一步:就是拿几张纸(程序中就是定义一个整形变量int 来限制你猜数字的次数)
第二步:取其中一张,让别人随机写一个数字(程序中就是定义一个变量并随机赋值,随机赋值如果不知道可以动手找资料或百度,很容易找到对应语句,直接套用);
第三步:你取一张纸写下你猜的数字(程序中就是另外定义一个变量,建议赋初始值0;后面用scanf函数输入你猜的数字)
第四步:让别人来用你写的数字和别人随机写的数字进行比较,如果相等则你猜对了(bingo),如果不对,判断你猜的次数及开始拿的白纸有没有用完,没有就选择继续猜,如果用完就结束游戏。(程序中就用if语句来判断你猜的数字和随机数字是否相等,如何判断猜的次数是否结束,即在if语句外面加一个for循环,来判断白纸是否用完)
以上即为简单的算法描述。当然你可以用其他流程图了,N-S图,伪代码了这些等来描述算法。
不知道你看懂没?不着急一步到位写出程序,你可以先设计好算法(即想好解决问题的方法,不一定就是用程序语句描述,就语言描述也行),然后根据你的解决办法,来搭框架,先后一步一步去用C语句语法来实现你的目的。这样下手简单一些;
当然如果你熟练了,这些可以省了,直接一步到位。但是开始建议你一步步来。我一直这么搞的,虽然还没怎么入门。但这个方法感觉挺适合我的,给你个参考吧

[此贴子已经被作者于2016-4-6 10:38编辑过]

2016-04-06 10:32
快速回复:求编程解答,感觉这个问题超出了我现有水平
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019786 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved