请教一道c语言题目,谢谢大家,内容如下:
编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所...
编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。
主要是“如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。”这一步不知道如何实现,希望能给一些思路。条件:只能用较低级的算法,不能用函数,指针,结构体,共用体的高级算法,谢谢! 展开
主要是“如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。”这一步不知道如何实现,希望能给一些思路。条件:只能用较低级的算法,不能用函数,指针,结构体,共用体的高级算法,谢谢! 展开
展开全部
楼上的不能解决你猜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.之后再猜中间数。
#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.之后再猜中间数。
展开全部
#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();
}
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最外层循环控制用户是否需要继续猜数 例如while(ch=='y'||ch=='Y')
内层循环for()循环十次,每次判断用户输入的值是否为计算机给出的数,如果正确,则break出for()循环,printf("是否继续?(y/n)");然后ch=getch();
内层循环for()循环十次,每次判断用户输入的值是否为计算机给出的数,如果正确,则break出for()循环,printf("是否继续?(y/n)");然后ch=getch();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询