c语言,使用随机函数rand()编写一个猜数字的游戏程序

使用随机函数rand()编写一个猜数字的游戏程序。由程序随机生成1~1000中的随机数,游戏者输入猜测值以后,如果猜对,显示“太棒了”,猜错时则显示“太高了”或“太低了”... 使用随机函数rand()编写一个猜数字的游戏程序。由程序随机生成1~1000中的随机数,游戏者输入猜测值以后,如果猜对,显示“太棒了”,猜错时则显示“太高了”或“太低了”的提示信息,然后进入循环,直到猜对为止。 展开
 我来答
Negamax
2012-04-12 · TA获得超过2721个赞
知道小有建树答主
回答量:656
采纳率:100%
帮助的人:284万
展开全部
测试数据:

请输入您猜的那个数:
10
第1次猜测,很遗憾您猜小了!

请输入您猜的那个数:
15
第2次猜测,很遗憾您猜大了!

请输入您猜的那个数:
12
第3次猜测,恭喜您猜对了,电脑随机数是12!

代码:
#include "stdio.h"
#include "conio.h"
#include <time.h>
#include <math.h>
#include<stdlib.h>

main()
{
int randnum,count=0;
int n,isRight;
time_t t;
srand((unsigned)time(&t));
randnum=(int)(rand()%1000);
while(1)
{
printf("\n请输入您猜的那个数:\n");
scanf("%d",&n);
count++;
if(n==randnum)
{
printf("第%d次猜测,恭喜您猜对了,电脑随机数是%d!\n",count,randnum);
break;
}
else if(n>=randnum)
{
printf("第%d次猜测,很遗憾您猜大了!\n",count);
}
else
{
printf("第%d次猜测,很遗憾您猜小了!\n",count);
}
}

getch();
}

getch();
}

楼主好运!
QQ469985793
2012-04-12 · TA获得超过153个赞
知道答主
回答量:126
采纳率:100%
帮助的人:100万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
main()
{
int i,a,b;
srand(time(0)); /*设置种子,并生成伪随机序列*/

while(~scanf("%d",&b))
{
for(i=0;i<N;++i) rand()%10;
a = rand()%100;
while(1)
{
if(a == b) {puts(" 恭喜你 猜对了 !\n***************\n"); break;}
else if(a > b) puts("你输入的数 小了!");
else puts("你输入的数 大了!");
scanf("%d",&b);
}
}
system("pause");

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fuzhenhui111
2012-04-12
知道答主
回答量:5
采纳率:0%
帮助的人:7992
展开全部
这是一个c语言程序,范围可以自己选择的,程序如下,自己看着用吧,其实很简单
#include<stdio.h>
#include<stdlib.h>

int next(void);
int getrange(void);
int getnumber(int limit);

int main()
{
int m,unknown,guess;
if((m=getrange())<0)return 1;
++m;

do{
unknown=rand()%m;
while(1){
if((guess=getnumber(m))<0){printf("Too many errors.Stop!");
return 2;}
if(guess>unknown)printf("Too big!\n");
else if(guess<unknown)printf("Too small!\n");
else{printf("Congratulation!You win!");
break;}
}
}while(next());
printf("Game over.\n");
return 0;
}
//
enum{err=5};
int getrange(void){
int i,n;
for(i=0;i<err;++i)
{
printf("Chose a range [0,n].Input n:");
if(scanf("%d",&n)!=1||n<2||n>32767){
puts("Wrong number,Need a number range in 2 to 32767.");
while(getchar()!='\n');
}
else return n;
}
return n-1;
}
//
int getnumber(int limit){
int i,n;
for(i=0;i<err;++i){
printf("You guess:");
if(scanf("%d",&n)!=1||n<0||n>=limit){
printf("Wrong number,Need a number range in 2 to %d.\n",limit-1);
while(getchar()!='\n')
;
}
else return n ;}
return n-1 ;}
//
int next(void){
int c;
printf("Next game?(Y/N):");
while(isspace(c=getchar()));
if(c=='y'||c=='Y')return 1;
else return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我本是妖已千年
2012-04-12
知道答主
回答量:80
采纳率:0%
帮助的人:41.4万
展开全部
路过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式