C++猜数字游戏

首先随便输入一个0到100的整数让电脑去猜,电脑每猜一个数字(也就是产生0到100随机数),然后用户输入<,>,=来代表,数大了,数小了,然后电脑继续猜,如果输入=,代表... 首先随便输入一个0到100的整数让电脑去猜,电脑每猜一个数字(也就是产生0到100随机数),然后用户输入<,>,=来代表,数大了,数小了,然后电脑继续猜,如果输入=,代表电脑猜对了。电脑每猜一次都记录下来。最后算次数。 展开
 我来答
牛顿一餐一顿牛
推荐于2016-08-13 · TA获得超过638个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:218万
展开全部
#include <iostream>
#include <ctime>
using namespace std;

int main()
{
srand((unsigned)time(NULL));

int num, temp, max=101, min=-1, n=0;

cout << "输入一个数:" << endl;
cin >> num;

temp = rand() % max;
n++;
cout << "电脑——>" << temp << endl;

int i = 0;

while(i != 3)
{
cout << "选择结果( 1代表<, 2代表>, 3代表= ):" << endl;
cin >> i;

switch (i)
{
case 1:
max = temp;
cout << "数大了!" << endl;
temp = rand() % max;
while (temp <= min)
{
temp = rand() % max;
}
n++;
cout << "电脑——>" << temp << endl;
break;
case 2:
min = temp;
cout << "数小了!" << endl;
temp = rand() % max;
while (temp <= min)
{
temp = rand() % max;
}
n++;
cout << "电脑——>" << temp << endl;
break;
case 3:
cout << "正确!" << endl;
break;
default:
break;
}
}

cout << "电脑总共猜了" << n << "次" << endl;

return 0;
}
追问
这个为什么猜了几次就不能进行下去了?
追答
测试没有问题,注意你不要输错1、2、3, 假如你给电脑猜的数是50,电脑猜80,你就应该输入1,代表5030。不要输错!要是不小心输错了,就关了重新来吧。当然你可以自己加入容错处理的代码
哎呦互动
2024-07-12 广告
作为上海爱友信息科技有限公司的工作人员,我们推荐您通过正规软件平台或我们的官方渠道下载抽奖软件。我们致力于提供安全、稳定、高效的抽奖软件,以满足各类抽奖活动的需求。请确保您从可信来源下载,并遵循软件的安装和使用指南。如有任何疑问或需要帮助,... 点击进入详情页
本回答由哎呦互动提供
百度网友3aecc30
2012-04-09
知道答主
回答量:21
采纳率:0%
帮助的人:21.3万
展开全部
手动判断太慢,我改成自动判断
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <windows.h>
using namespace std;
int main()
{
srand((unsigned int)time(0));
int iInputNum;
int iRandomNum;
int i=0;
cout<<"输入一个0—10的整数"<<endl;
do
{
cin>>iInputNum;
if(iInputNum<0||iInputNum>10)
cout<<"输入有误"<<endl;
}while(iInputNum<0||iInputNum>10);
do
{
//iRandomNum=rand()%101;//产生0~100随机数
//100太慢,改用0~10
iRandomNum=rand()%11;//产生0~10随机数
i=i+1;//计算次数
Sleep(1000); //停顿
cout<<iRandomNum<<endl;
if(iInputNum>iRandomNum)
cout<<"小了"<<endl;
else if(iInputNum<iRandomNum)
cout<<"大了"<<endl;

}while(iRandomNum!=iInputNum);
//i=i+1;
cout<<"猜对了,共猜了"<<i<<"次"<<endl;
return 0;
}
还有问题联系我
追问
这个需要手动来判断,谢谢你
追答
你看这样改了行不
#include
#include
#include
//#include
using namespace std;
int main()
{
srand((unsigned int)time(0));
int iInputNum;
int iRandomNum;
int i=0;
char cSign;
cout>iInputNum;
if(iInputNum10)
cout10);
do
{
//iRandomNum=rand()%101;//产生0~100随机数
//100太慢,改用0~10
iRandomNum=rand()%11;//产生0~10随机数
i=i+1;//计算次数
//Sleep(1000); //停顿
coutiRandomNum)
{
//cout:"代表电脑猜的小了,=代表电脑猜对了">cSign;
while(cSign!='>')
{
cout>cSign;
}
}
else if(iInputNum代表电脑猜的小了,=代表电脑猜对了">cSign;
while(cSign!='>cSign;
}
}

}while(iRandomNum!=iInputNum);
//i=i+1;
//cout代表电脑猜的小了,=代表电脑猜对了">cSign;
while(cSign!='=')
{
cout>cSign;
}
cout<<"电脑共猜了"<<i<<"次"<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
deathdarkhs666
2012-04-09
知道答主
回答量:10
采纳率:0%
帮助的人:6.7万
展开全部
#include "stdafx.h"
#include "string.h"

int _tmain(int argc, _TCHAR* argv[])
{
int iInputNumber;
int iOutputChange;
char cInputBuf[10];
int iResultjudge = 0;
iInputNumber=50;
iOutputChange=50;
while (iResultjudge < 1)
{
printf("%d\n",iInputNumber);
scanf("%s",cInputBuf);
if (iOutputChange < 1)
{
iOutputChange=2;
}
if (strlen(cInputBuf) != 1)
{
printf("Input error");
}
if (cInputBuf[0] == '+')
{
iOutputChange = iOutputChange / 2;
iInputNumber = iInputNumber + iOutputChange;
}
else if (cInputBuf[0] == '-')
{
iOutputChange = iOutputChange / 2;
iInputNumber = iInputNumber - iOutputChange;
}
else if (cInputBuf[0] == '=')
{
iResultjudge = 1;
}
if (iOutputChange < 1)
{
iOutputChange=2;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ahgxhns
2021-08-08
知道答主
回答量:7
采纳率:0%
帮助的人:3018
展开全部
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main(){
srand(time(0));
int a=rand()%100,x=0,n;
while (1){
cin>>n;
x++;
if (n==a){
cout<<"yes,you use "<<x<<" time to guess!";
break;
}
else if (n<a){
cout<<"it smaller than answer!";
}
else{
cout<<"it bigger than answer!";
}
cout<<endl;
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式