猜数程序.要完整的程序!(用rand产生一个随机数)

若猜的数比产生的数小或大,提示并重猜;直到猜中为止.拜托了!要用C语言的第2种也不可行啊!:fatalerrorC1004:unexpectedendoffilefoun... 若猜的数比产生的数小或大,提示并重猜;直到猜中为止.
拜托了!
要用C语言的
第2种也不可行啊!
: fatal error C1004: unexpected end of file found
第3种也不可行~~ 在猜之前就已经把这个数显示出来了!!
展开
 我来答
荀含桃隽波
2019-05-18 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:767万
展开全部
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void
main()
{
int
m,s,t,flag;
char
ch;
for(;;)
{
flag=0;
s=0;
srand(time(0));
do
m=rand();
while(m<0||m>100);
cout<<"我已经想到了一个0-100的整数,请你猜猜看。"<<endl;
for(;;)
{
if(flag)break;
cin>>t;
s++;
if(t>m)
cout<<"你猜的数太大了。"<<endl;
else
if(t<m)
cout<<"你猜的数太小了。"<<endl;
else
{
cout<<"恭喜!你猜对了!你猜了"<<s<<"次"<<endl;
cout<<"还想玩吗?(Y/N)";
cin>>ch;
if(!(ch=='Y'||ch=='y'))
return;
else
flag=1;
}
}
}
}
zidao393272479
2007-10-06 · 超过12用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:0
展开全部
以下程序的功能是随机产生数字,要求用户猜测程序中产生的随机数字,并输入,根据猜测的结果程序给出不同的响应,如果15次没猜对则退出。

源程序如下:
#include <stdio.h>
#include<stdlib.h>
#include<ctype.h>
main()
{
int count;/*猜数字的次数*/
int number;/*系统产生的随机数字*/
int guess;/*程序员输入数字*/
char yes='Y';
clrscr();
printf("\nNow let us play the game.\n Guess the number:");
while (toupper(yes)=='Y')
{
count=0;
randomize();
number=random(100)+1;
do
{
do
{
printf("\nInput an integer number(1~100):");
scanf("%d",&guess);
}while(!(guess>=1&&guess<=100));/*结束第二层DO~WHILE循环*/
if (guess<number)
printf("\n Your answer is low,try again!");/*如果用户输入的数字小于系统随机数,则输出数字太小的提示信息*/

if (guess>number)
printf("\n Your answer is high,try again!");/*如果用户输入的数字大于系统随机数,则输出数字太小的提示信息*/

count++;/*猜测次数加一*/
if (count==15)
{
printf("\n This is the %d times! Think it hard next!",count);
exit(0);/*如猜测15次还没猜对,则退出游戏*/
}
}while (!(guess==number));
if (count<=7)/*猜测的次数小于7次*/
{
printf("\n You have got it in %d times.\n",count);
printf("\n you guess right,Congretulations!");/*游戏成功则提示祝贺信息*/
}
else
{
printf("\n You got it in %d times.\n",count);
printf("\n I bet you can do it better!");/*游戏失败则提示鼓励信息*/
}
printf("\n NEXT?(Y/N):");/*选择是否重新游戏*/
scanf("%c",&yes);
}
}
运行程序时请用户猜数字,该数字由系统随机产生,用户最多有七次猜测的机会,如果在七次内猜对数字,则程序显示祝贺信息,如果用户大于七次猜对数字,则程序显示鼓励信息,如果用户连续15次都没有猜对数字,则游戏自动退出。结束一次游戏后,系统询问用户进行下一次猜数字游戏,用户输入“Y”则开始下一次猜数字游戏,用户如果输入“N”则退出游戏。
唉,花了个把小时终于搞出来了,应可以看懂吧,程序中作了很详细的解释,且在最后也作了功能说明!
如果认为好的话,追加分数哦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HHP和尚
2007-10-04 · TA获得超过119个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:0
展开全部
我试了一下,可以啊,没什么问题啊,你用的是什么编译器啊?你确定你没漏了什么符号啊!!!
#include "stdio.h"
#include "math.h"
void main()
{
int t,i,j=0;
i=rand();
printf("请输入你猜的数:");
loop:scanf("%d",&t);
j+=1;
if(t<i)
{printf("猜的数比产生的数小\n请从新输入:"); goto loop;}
else if(i<t)
{printf("猜的数比产生的数大\n请从新输入:"); goto loop;}
else printf("\n恭喜!你猜对了!你猜了%d次",j);
}
试试这个:
#include "stdio.h"
#include "math.h"
void main()
{
int t,i,j=0;
i=rand();
printf("请输入你猜的数:");
for(;;)
{
scanf("%d",&t);
j+=1;
if(t<i)
{printf("猜的数比产生的数小\n请从新输入:"); continue;}
else if(i<t)
{printf("猜的数比产生的数大\n请从新输入:"); continue;}
else
{printf("\n恭喜!你猜对了!你猜了%d次",j);break;}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2ea91835f
2007-10-04
知道答主
回答量:24
采纳率:0%
帮助的人:21.5万
展开全部
这个程序拿去看看,有什么不满意的提出来

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
int i ,guess=0;
srand(time(0)); //初始化随机种子
i = rand()%100;
printf("%d\n",i);
printf("请你输入一个数(1-100)\n");
scanf("%d",&guess);
while(guess != i)
{
if(guess < i )
{
printf("请你输入一个比%d大的数",guess);
scanf("%d",&guess);
}

else
{
printf("请你输入一个比%d小的数",guess);
scanf("%d",&guess);
}
}
printf(" 恭喜你,打对了!\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花式码农
2007-10-04 · TA获得超过1.7万个赞
知道大有可为答主
回答量:4894
采纳率:0%
帮助的人:4695万
展开全部
#include<iostream.h>
#include<stdlib.h>
#include<time.h>

void main()
{
int m,s,t,flag;
char ch;
for(;;)
{
flag=0;
s=0;
srand(time(0));
do
m=rand();
while(m<0||m>100);
cout<<"我已经想到了一个0-100的整数,请你猜猜看。"<<endl;
for(;;)
{
if(flag)break;
cin>>t;
s++;
if(t>m)
cout<<"你猜的数太大了。"<<endl;
else if(t<m)
cout<<"你猜的数太小了。"<<endl;
else
{
cout<<"恭喜!你猜对了!你猜了"<<s<<"次"<<endl;
cout<<"还想玩吗?(Y/N)";
cin>>ch;
if(!(ch=='Y'||ch=='y'))
return;
else
flag=1;
}
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式