| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 491 人关注过本帖
标题:请教这个该怎么编
只看楼主 加入收藏
onizukafz
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-11-15
结帖率:66.67%
收藏
已结贴  问题点数:15 回复次数:5 
请教这个该怎么编
结果是
请在0-1000中选出一个数并且记住它.
我猜那个数 .
显示数字后 请从下面1-3中选择.
1.再大些
2.再小些
3.就是这个
数字选择后请按回车
请从1-3中选择.是100吗?1
请从1-3中选择.是500吗?2
请从1-3中选择.是300吗?3
太棒了!

以上为显示结果
请各位高手帮忙
2010-04-18 11:26
james230932
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:162
专家分:629
注 册:2008-1-20
收藏
得分:5 
随机产生一个数,将你猜测的数与之对比,可用很多方法,switch 或for 循环,再输出相应的语句。

老天给了我十根纤纤玉指,我却用它们来挖鼻屎。
2010-04-18 11:46
onizukafz
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-11-15
收藏
得分:0 
是我输入一个数 让电脑猜 我从1-3中选择
我是初学者 老师留这作业 我连从那下手都不知道 要是会就不来问了
一点头绪都没有 拿着书不知道该看哪

2010-04-18 12:00
newstar10
Rank: 2
等 级:论坛游民
帖 子:32
专家分:48
注 册:2010-4-14
收藏
得分:5 
我也是才学了一段时间编程,下面的解法有点粗糙,没时间优化,大家可以来优化一下:vc6.0编译

#include <iostream.h>
#include <time.h>
#include <stdlib.h>
int random(int x, int y)  //产生x-y范围的随机数
{  int num;
   srand ((unsigned)time(NULL));
   num=rand()%(y-x+1)+x;
   return num;
}
int enquire(int n)  //输出询问语句
{
    cout<<"是"<<n<<"吗?";
    cin>>n;
    return n;
}
void main()
{   int number, response, temp;
    int i=0, low=0 ,high=1000;
    cout<<"数字选项表示:"<<endl;
    cout<<"1"<<'\t'<<"再大些!"<<endl;
    cout<<"2"<<'\t'<<"再小些!"<<endl;
    cout<<"3"<<'\t'<<"就是这个数!"<<endl;
    number=random(low, high);
    temp=number;
    response=enquire(number);
    while (response != 3)     /*下面的2个判断功能也可以写成函数实现*/
    {
        if (response==1)
        {   low=number;
            number=random(low, high);
                while (temp==number)   //若生成的随机数与前面相同,则重新生成
                   number=random(low, high);
                temp=number;
            response=enquire(number);
        }
        else
        {
            high=number;
            number=random(low, high);
                while (temp==number)
                   number=random(low, high);
                 temp=number;
            response=enquire(number);
        }
    }
    cout<<"太棒了!"<<endl;
}
注:特别是最后电脑将要猜到正确答案时,电脑可能再输出原来出现过的数字,这里需要优化。
2010-04-18 22:49
newstar10
Rank: 2
等 级:论坛游民
帖 子:32
专家分:48
注 册:2010-4-14
收藏
得分:0 
程序进行了修改,不会出现重复的猜测了,代码如下:

#include <iostream.h>
#include <time.h>
#include <stdlib.h>
int random(int x, int y)  
{  int num;
   srand ((unsigned)time(NULL));
   num=rand()%(y-x-1)+x+1;
   return num;
}
int enquire(int n)  
{
    cout<<"是"<<n<<"吗?";
    cin>>n;
    return n;
}
void main()
{   int number, response, temp;
    int i=0, low=0 ,high=1000;
    cout<<"数字选项表示:"<<endl;
    cout<<"1"<<'\t'<<"再大些!"<<endl;
    cout<<"2"<<'\t'<<"再小些!"<<endl;
    cout<<"3"<<'\t'<<"就是这个数!"<<endl;
    number=random(low, high);
    response=enquire(number);
    while (response != 3)     
    {
        if (response==1)
        {   low=number;
            number=random(low, high);
            response=enquire(number);
        }
        else
        {
            high=number;
            number=random(low, high);
            response=enquire(number);
        }
    }
    cout<<"太棒了!"<<endl;
}
2010-04-19 09:38
songqq520
Rank: 2
等 级:论坛游民
帖 子:18
专家分:31
注 册:2010-4-17
收藏
得分:5 
lz 你很有才
2010-04-19 23:51
快速回复:请教这个该怎么编
数据加载中...
 
   



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

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