牛人 请进 帮改一下 谢了

来源:百度知道 编辑:UC知道 时间:2024/05/14 16:16:22
牛人 请进 帮改一下 谢了

题目描述

这里有一个猜数字的游戏,游戏的规则是这样,系统随机生成一个0-100(不包括0和100)之间的数字。然后让玩家来猜,开始给出数字的范围为(0-100),如果玩家猜的数比生成的数大,提示数字太大,并更新范围为(当前小数-他猜的数)如果猜的比生成的数小,则提示太小。并更新范围为(他猜的数-当前的大数)。如果猜的数字超出范围,则提示超出范围。如果猜对了,则提示正确和猜了几次。例如随机生成的数字是50,然后玩家猜的是30,则提示太小,并更新范围到(30-100),然后玩家猜70,提示太大,并更新范围到(30-70),如果玩家猜80,则提示超出范围。当玩家猜50时,提示正确猜了4次。现在你的程序就是要实现类似这样的功能。

输入

开始是一个正整数n,表示有n组测试数据。
每组数据包括,一个整数k,表示随机生成的数字,和一个整数m,表示这个玩家总共猜了几次。
接着是m个整数,分别表示玩家猜的数字。

输出

对于每组测试数组,如果玩家回答在数字范围外,则输出“超出范围”。
在有效范围内,如果在比生成的数字小则输出“数字太小”。如果比生成的数字大,则输出“数字太大”,并在提示的同一行输出更新之后的范围,两个整数表示范围。整数用一个空格隔开,第一个整数和前面的提示也用一个空格隔开。
如果数据刚好是生成的数,则输出正确,和他了几次的次数。次数用一个空格和前面提示隔开,对于剩余数据需要被读入,但是不做任何的提示输出。
如果一组测试中,所有的数字都没有回答正确,则输出“回答错误”。
每次提示输出都独占一行。

样例输入

2
50 5
10 10 70 70 60
60 4
60 50 40 70

样例输出

数字太小 10 100
超出范围 10 100
数字太大 10 70
超出范围 10 70
数字太大 10 60
回答错误
正确 1
#include<stdio.

#include<stdio.h>
int main()
{
int b,i,k,o,m,n,zuo=0,you=100,a; //k代表随机数,m代表第m次猜测,o代表最多o次猜测
scanf("%d",&n);
for(i=1;i<=n;i++)
{
b=1;
scanf("%d %d",&k,&o);
zuo=0;you=100;
for(m=1;m<=o;++m)
{
scanf("%d",&a);
if(b==1)
if(a>zuo&&a<you)
{
if(a<k)
{
zuo=a;
printf("数字太小 %d %d\n",zuo,you);
}
else if(a>k)
{
you=a;
printf("数字太大 %d %d\n",zuo,you);
}
else if(a==k)
{
b=0;
printf("正确 %d\n",m);
}
}
else
printf("超出范围 %d %d\n",zuo,you);
}
if(b==1)
printf("回答错误\n");
}
}

if(b=1)
printf("回答错误");
劳驾在b=1那多加个=号

//重写了一个;你看看,VS6.0上编译通过
#include<iostream>
#include<cstdlib>
#include<ctime>
using