猜数字游戏只能猜三次c语言编程(猜数字编程并且每次只能猜五次)
c语言我想写个猜随机数字,5以内,3次机会,麻烦帮忙看下对不对?
#includestdio.h
#includestdlib.h
int main()
{
int s, a;
int f = 1;
while (f)
{
system("cls");//DOS清屏命令
printf("操作说明:\n\t输入1继续游戏,0退出游戏,-1直接显示本次结果\n\n");
s = rand() % 100;//生成随机数0-100之内
printf("请输入您所猜的数字(0-100) \n");
scanf("%d", a);
while (1)
{
if (a == s)
{
printf("恭喜您猜测成功!\n");
break;
}
else if (a s)
{
printf("高了!请再次输入:");
scanf("%d", a);
}
else if (a s)
{
printf("低了!请再次输入:");
scanf("%d", a);
}
if (a == -1)
{
printf("%d", s);
break;
}
}
printf("提示:\n\t1.重新开始游戏,0.退出游戏:\n请输入:");
scanf("%d", f);
}
return (0);
}
c语言编程猜数字游戏 输入一个书告诉其大了还是小了有三次可猜机会
#includestdio.h
#includestdlib.h
#includetime.h
int?main()
{
?int?n,m,i?=?0;
?srand(time(NULL));
?n?=?rand()%100+1;
?do
?{
??printf("输入所猜数字:");
??scanf("%d",m);
??i++;
??if(?mn?)
???printf("猜错了!太大了!\n");
??else?if(?m??n)
???printf("猜错了!太小了!\n");?
?}while(m?!=?n);
?printf("答对了!\n");
?printf("共猜测了%d次。\n",i);
?if(i?=?5?)
??printf("你太聪明了,这么快就猜出来了。\n\n");
?else?if(i??5)
??printf("你还需改进方法,以便更快猜出来!\n\n");
?
?return?0;?
}
猜数,用函数,c语言,猜一个随机数有三次机会
参考代码:
#include?stdio.h
#include?stdlib.h
#include?time.h
int?main()
{
????int?i,randomnum,yourguess;
????randomize();
????randomnum=random(101);
????printf("请猜一个1-100间的数:\n");
????for(i=1;i=3;i++)
????{
???????scanf(?"%d",yourguess);
???????if(yourguess==randomnum)?
???????{
????????????printf("这是第%d次猜数,恭喜猜对了!\n\n",i);
????????????printf("按任意键退出\n",i);
????????????getch();
????????????break;
????????}
???????else?if(yourguessrandomnum)
???????{
???????????if(i3)
???????????{
???????????????printf("这是第%d次猜数,猜小了!?还剩%d次机会,请继续...\n",i,10-i);
???????????????continue;
????????????}
???????????else
???????????????printf("这是最后一次猜数,猜小了!?很遗憾...\n");?????????
????????}
???????else?if(yourguessrandomnum)
???????{
???????????if(i3)
???????????{
????????????????printf("这是第%d次猜数,猜大了!?还剩%d次机会,请继续...\n",i,10-i);
????????????????continue;
????????????}
???????????else
???????????????printf("这是最后一次猜数,猜大了!?很遗憾...\n");?????????
????????}
????}
????return?0;
}
c语言:猜数字游戏代码
加了得分榜,没写排序,没时间了。自己加一下就OK
#include stdio.h
#include time.h
#include stdlib.h
#include string.h //以上的是要用到的头文件
int score=0;
void SELECT(int);
void Guess(int,int);
void Select();
void letsgo();
void NB(int); //以上的是函数原型
struct PLAYER
{
char name[10];
int plscore;
};
void save()
{ printf("您的得分是%i",score);
PLAYER player;
printf("请输入姓名:");
scanf("%s",player.name);
player.plscore=score;
FILE *fp;
if((fp=fopen("record.txt","ab"))==NULL)
{
printf("不能打开文件!");
exit(0);
}
fwrite(player,sizeof(PLAYER),1,fp);
printf("记录保存完毕!");
fclose(fp);
}
void print()
{
printf("分数榜:");
FILE *fp;
if((fp=fopen("record.txt","rb"))==NULL)
{
printf("不能打开文件!");
exit(0);
}
PLAYER player;
while(fread(player,sizeof(PLAYER),1,fp)==1)
{
printf("\n姓名:%s\n",player.name);
printf("分数:%i\n",player.plscore);
}
fclose(fp);
}
void main()
{
char end;
printf(" \t\t欢迎光临!!\n\t 在这里我将来测试你的运气!\n");
printf(" 请你猜下数字,但机会就只有三次!!\n");
printf("\n 1、开始游戏^__^\n 2、我是倒霉鬼,我不玩\n 3、查看分数榜");
printf(" 请选择1或2\n");
Select();
printf("\n按任意键退出");
fflush(stdin);
end=getchar();
if(score0)
save();
printf("Thanks For Playing \2 886\n");
}
void Select()
{
int s;
static int lihai=0;
fflush(stdin);
scanf("%d",s);
switch(s)
{
case 1:
letsgo();break;
case 2:
printf("唉,你不想玩,我就不逼你咯\n");exit(0);
case 3:print();
break;
default:
lihai++;
if(lihai==3||lihai==5)
{
NB(lihai);
break;
}
printf("你输入的是什么啊!重新输入 1 或 2 \n ");
Select();
}
}
void letsgo()
{
int select;
printf("请你选择猜数字的难度\n ");
printf("1、简单-猜测 0 到 9 的数字\n ");
printf("2、一般-猜测 0 到 99 的数字\n ");
printf("3、困难-猜测 0 到 999 的数字\n ");
printf("请不要乱选!!\n");
scanf("%d",select);
switch(select)
{
case 1:SELECT(10);break;
case 2:SELECT(100);break;
case 3:SELECT(1000);break;
case 4:print();
default:
{
printf("请不要乱选!!\n");
letsgo();
}
}
}
void NB(int l)
{
char a[20];
static int jihui=0;
printf("\n老大!我服了你,%d 次都输入错误。\n",l);
printf("\n可能你在捣乱~~\n");
printf("(如果不想结束,请输入[sorry]中括号内的否则结束游戏)\n");
fflush(stdin);
gets(a);
if (strcmp(a,"sorry")==0||strcmp(a,"SORRY")==0)
{
jihui++;
if(jihui==2)
{
printf("\n死性不改。道歉也没有用了!\n");
goto end;
}
printf("好吧。给你次机会请输入 1 或 2 \n ");
Select();
}
end:
printf("");
}
void SELECT(int n)
{
int num;
srand((unsigned)time(NULL));
num=rand()%n;
if(n==10)
{
n=3;
printf("\n你有 %d 次猜测的机会\n",n);
}
if(n==100)
{
n=5;
printf("\n你有 %d 次猜测的机会\n",n);
}
if(n==1000)
{
n=7;
printf("\n你有 %d 次猜测的机会\n",n);
}
Guess(num,n);
}
void Guess(int num,int n)
{
int search,k,o;
static int i=1;
char ans;
if(n==3)
k=10;
if(n==5)
k=100;
if(n==7)
k=1000;
o=(num-k/1)%k;
if(o0)
o=0;
printf("\n请猜这个数是多少(在%d到%d):",o,(k/5+num)%k);
fflush(stdin);
scanf("%d",search);
if(numsearch)
printf("\n小了\n");
if(numsearch)
printf("\n大了\n");
if(num==search)
{
printf("\n恭喜您了!你在第 %d 次猜对了\n",i);
score+=10;
printf("是否继续y / n:\n");
fflush(stdin);
ans=getchar();
if(ans=='y'||ans=='Y')
{
i=1;
letsgo();
}
}
else
{
i++;
if(i=n)
Guess(num,n);
else
{
printf("\n你的 %d 次机会已经没有了!!,答案是 %d \n",i-1,num);
printf("是否继续y / n:\n");
fflush(stdin);
ans=getchar();
if(ans=='y'||ans=='Y')
{
i=1;
letsgo();
}
}
}
}
满意请采纳。
C++猜数字限制输入次数
定义一个计数变量
int n=1;
放在int i,data,answer=2415;这句后面
在do循环里面加一句
n++;
把while(data!=answer)
改为while(data!=answer n4) 就可以了