C++石头剪刀布,怎么做啊?

img

img

随机从1-3中选个数。1<2<3 3<1 这样去判断。

这不会是大头机吧!

代码如下:

#include <stdio.h>
#include <string.h>

int main()
{
    int n,i;
    char p1[10]={0},p2[10]={0};
    printf("请输入N:");
    scanf("%d",&n);
    for (i = 0; i< n;i++)
    {
        memset(p1,0,10);
        memset(p2,0,10);
        printf("请输入选手1和选手2的手势:");
        scanf("%s %s",p1,p2);
        //Rock  Scissors  Paper
        if (strcmp(p1,"Rock") == 0 || strcmp(p1,"rock") == 0)
        {
            if (strcmp(p2,"Rock") == 0 || strcmp(p2,"rock") == 0)
                printf("平局\n");
            else if(strcmp(p2,"Scissors") == 0 || strcmp(p2,"scissors") == 0)
                printf("选手1赢\n");
            else if(strcmp(p2,"Paper") == 0 || strcmp(p2,"paper") == 0)
                printf("选手2赢\n");
            else
                printf("输入错误\n");
        }else if (strcmp(p1,"Scissors") == 0 || strcmp(p1,"scissors") == 0)
        {
            if (strcmp(p2,"Rock") == 0 || strcmp(p2,"rock") == 0)
                printf("选手2赢\n");
            else if(strcmp(p2,"Scissors") == 0 || strcmp(p2,"scissors") == 0)
                printf("平局\n");
            else if(strcmp(p2,"Paper") == 0 || strcmp(p2,"paper") == 0)
                printf("选手1赢\n");
            else
                printf("输入错误\n");
        }else if(strcmp(p1,"Paper") == 0 || strcmp(p1,"Paper") == 0)
        {
            if (strcmp(p2,"Rock") == 0 || strcmp(p2,"rock") == 0)
                printf("选手1赢\n");
            else if(strcmp(p2,"Scissors") == 0 || strcmp(p2,"scissors") == 0)
                printf("选手2赢\n");
            else if(strcmp(p2,"Paper") == 0 || strcmp(p2,"paper") == 0)
                printf("平局\n");
            else
                printf("输入错误\n");
        }
    }
    return 0;
}