问题提出:石头剪刀布.

【问题描述】同学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;
        }
    }
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632