【问题描述】同学A、B课余时间玩石头(rock)、剪刀(scissors)、布(paper)的猜拳游戏,请利用随机函数模拟A、B同学的出拳,三局两胜,判断出A、B的输赢。要求编写出拳函数int guess()和评判函数int judge(int,int),主函数调用出拳和评判函数。
【输入形式】无输入
【输出形式】每一行显示单次比赛结果,最后一行显示三局两胜的最终结果。比如:
A:rock B:scissors. A win!
A:rock B:rock . pass!
A: paper B:scissors. B win!
A: scissors B:paper A win!
A win in the end!
随机数就输出0,1,2就行,判断出的是石头剪刀布
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char *s[] = {"rock","scissors","paper"};
int guess()
{
return rand()%3;
}
int judge(int a,int b)
{
printf("A:%s ",s[a]);
printf("B:%s",s[b]);
if(b==0 || b==1)
printf(". ");
else
printf(" ");
if(a==b)
{
printf("pass !\n");
return 0;
}
if((a==0 && b==1) || (a==1 && b==2) ||(a==2 && b==1)
{
printf("A win !\n");
return 1;
}
printf("B win !\n");
return -1;
}
int main()
{
srand(time(NULL));
int aw = 0,bw= 0,a,b.r;
while(1)
{
a = guess();
b = guess();
r = judge(a,b);
if(r == 1)
aw++;
else if(r == -1)
bw++;
if(aw == 2)
{
printf("A win in the end!");
break;
}
else if(bw == 2)
{
printf("B win in the end!");
break;
}
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!