c语言编写一个猜数字游戏

2024年11月23日 00:02
有5个网友回答
网友(1):

同学你好!
下面是我自己做了一个,运行是成功的。希望对你有所帮助!

#include
#include
#include
#include

void main()
{
int i,j,cnt,guard=1;
while(guard)/*利用guard来判断是否继续进行游戏*/
{
srand((unsigned)time(NULL));
i=rand()%100;/*随机生成整数*/
cnt=0;/*比较次数置零*/
for(;;)
{
printf("Please input the data:");
scanf("%d",&j);
cnt++;/*次数累加*/
if(j>i)
printf("Too high!\n");
else if(j printf("Too low!\n");
else
{
printf("Right!\n");
printf("The cnt is:%d\n",cnt);
printf("Wanna continue? 1.continue 0.exit\n");
scanf("%d",&guard);/*选择是否继续*/
break;
}
}
}
}

希望我的回答对你有帮助,祝你的C成绩进步

网友(2):

//写了个好的
//在此程序的同一个文件夹中创建一个txt文本里面写上所有要猜的数字,以空格分开
//txt文件名为:game.txt
#include
#include
#include

void main(void)
{
const EASY_MODE=20;
const MEDIUM_MODE=EASY_MODE/2;
const HARD_MODE=MEDIUM_MODE/2;

fstream fin;
fin.open("game.txt",ios::in);

char in,str[10];
int i,j,sum[100];

time_t ltime;
int index,guess,target;

int option,op,op1;

char h;

str[10]='\0';
i=j=0;
sum[100]=0;

while(!fin.eof())
{
fin.get(in);
if((in>='0')&&(in<='9'))
{
str[i++]=in;
}
else
{
if(i>0)
{
sum[j++]=atoi(str);
for(int b=0;b {
str[b]='\0';//(char)"";
}
i=0;
}
}
}

/* -------------测试代码-------------
for(int a=0;a {
cout< }
cout<*/
RESTART:

srand(time( index=(rand()%j);

target=sum[index];
guess=0;

// cout<
cout<<"----------开始游戏-----------"< cout<<"----输入游戏难度:(1,2or3)----"<
do{cout<<">";cin>>option;}while(!(option>=1&&option<=3));
switch(option)
{
case 1:{op=op1=EASY_MODE;break;}
case 2:{op=op1=MEDIUM_MODE;break;}
case 3:{op=op1=HARD_MODE;break;}
}

while(true)
{
cout<<">";
cin>>guess;
if(guess==target){
cout<<"-------恭喜你,答对了--------"< cout<<"你的成绩是:"< cout<<"------继续吗? (y or n)------"<
cin>>h;
while(true)
{
if(h=='y')goto RESTART;
else
{
if(h=='n'){exit(1);fin.close();}
else cin>>h;
}
}
}
else
{
switch((guess {
case true:{cout<<">小了"< case false:{cout<<">大了"< }

if(!(--op))
{
cout<<"次数已到,是否重来?(y or no)"< cin>>h;

while(true)
{
if(h=='y')goto RESTART;
else
{
if(h=='n'){exit(1);fin.close();}
else cin>>h;
}
}
}
}
}
}

网友(3):

同学你好!
下面是我自己做了一个,运行是成功的。希望对你有所帮助!
#include
#include
#include
#include
void
main()
{
int
i,j,cnt,guard=1;
while(guard)/*利用guard来判断是否继续进行游戏*/
{
srand((unsigned)time(NULL));
i=rand()%100;/*随机生成整数*/
cnt=0;/*比较次数置零*/
for(;;)
{
printf("Please
input
the
data:");
scanf("%d",&j);
cnt++;/*次数累加*/
if(j>i)
printf("Too
high!\n");
else
if(jprintf("Too
low!\n");
else
{
printf("Right!\n");
printf("The
cnt
is:%d\n",cnt);
printf("Wanna
continue?
1.continue
0.exit\n");
scanf("%d",&guard);/*选择是否继续*/
break;
}
}
}
}
希望我的回答对你有帮助,祝你的C成绩进步

网友(4):

已经改正,如下:
#include
#include
#include
void
circle(int
i)
{
int
n
;
printf("请输入您所猜的数字(0-100)
\n");
scanf("%d",&n);
if(i{
printf("the
number
is
larger,input
agine.\n");
circle(i);
}
if(i>n)
{
printf("the
number
is
smaller.input
agine
\n");
circle(i);
}
if(i==n)//?不是
printf("the
number
is
%d
so
congratulations!you
got
it!",i);
}
int
main()
{
int
flag
=1;
printf("This
is
a
small
game,what
you
should
do
is
just
guess
a
intange
number.\n");
printf("Now,please
guess
the
number!\n");
srand((unsigned)time(NULL));
while(flag)
{
int
i=rand()%100;//?使用
%
而不是
/
,产生的数字在0-100之间,放在循环体内,每次循环都产生一个随机数
circle(i);
printf("\n继续玩请输入
1,退出请输入
0");
scanf("%d",&flag);
}
getchar();
return
0;
}

网友(5):

#include
#include
using namespace std;
void guess()
{
int a,b,i,c;
b=rand()%50;
for(i=0;;i++)
{
cin>>a;
c=a-b;
if(c<0)
cout<<"小了"< else if(c>0)
cout<<"大了"< else
{
cout<<"正确"< break;
}
}
}

void main()
{
char s;
do
{
cout <<"请猜数字!"< guess();
cout<<"是否继续(y/n)"< cin>>s;
}
while(s=='y');
cout<<"结束"<
}