c语言,使用随机函数rand()编写一个猜数字的游戏程序
使用随机函数rand()编写一个猜数字的游戏程序。由程序随机生成1~1000中的随机数,游戏者输入猜测值以后,如果猜对,显示“太棒了”,猜错时则显示“太高了”或“太低了”...
使用随机函数rand()编写一个猜数字的游戏程序。由程序随机生成1~1000中的随机数,游戏者输入猜测值以后,如果猜对,显示“太棒了”,猜错时则显示“太高了”或“太低了”的提示信息,然后进入循环,直到猜对为止。
展开
展开全部
测试数据:
请输入您猜的那个数:
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();
}
楼主好运!
请输入您猜的那个数:
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();
}
楼主好运!
展开全部
#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");
}
#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");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是一个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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询