请教一道c语言题目,谢谢大家,内容如下:

编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所... 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。

主要是“如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。”这一步不知道如何实现,希望能给一些思路。条件:只能用较低级的算法,不能用函数,指针,结构体,共用体的高级算法,谢谢!
展开
 我来答
每日讯闻推送
2011-11-12 · 超过18用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:29万
展开全部
楼上的不能解决你猜10次错误想再猜计算机给的下一个数的问题。下面是源程序:
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,i;
int flag=1;
while(flag)
{
a=rand()%100;
i=1;
while(i<=10)
{
printf("请输入你要猜的数字:");
scanf("%d",&b);
if(a==b)
{
printf("你猜得是正确.你猜了%d次",i);
return 0;
}
else if(b>a)
printf("你猜的数字偏大请重新输入");
else
printf("你猜得数字偏小请重新输入");
i++;
}
printf("\n刚才你要猜的正确数字是%d,你猜错了\n",a);
printf("你刚才已经猜了10次,继续游戏请输入1,停止游戏请输入0:");
scanf("%d",&flag);
}
return 0;
}
至于猜数字你可以利用二分法猜,第一次猜(1+100)/2=50.之后再猜中间数。
肖婷0
2011-11-12 · TA获得超过237个赞
知道答主
回答量:250
采纳率:0%
帮助的人:230万
展开全部
#include<stdlib.h>
void main()
{
int a,b,i;
a=random(50)+1;
scanf("%d",&b);
for(i=0;i<10;i++)
{
if(b>a)
{
printf("it is larger, please enter another number: ");
scanf("%d",&b);
}
else
if(b<a)
{
printf("it is smaller,please enter another number: ");
scanf("%d",&b);
}
else
{
printf("you win!\n");
break;
}
}
printf("i=%d\n",i);
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qicaiwuya
2011-11-12 · TA获得超过4211个赞
知道小有建树答主
回答量:1462
采纳率:100%
帮助的人:1206万
展开全部
最外层循环控制用户是否需要继续猜数 例如while(ch=='y'||ch=='Y')
内层循环for()循环十次,每次判断用户输入的值是否为计算机给出的数,如果正确,则break出for()循环,printf("是否继续?(y/n)");然后ch=getch();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式