1290 Alice and Bob

Alice and Bob

1、题目内容

题目描述
Alice和Bob玩剪刀-石头-布的游戏,请你写个程序判断一下比赛的结果。

Rock-Paper-Scissors

输入
第一行是一个整数K,表示样例的个数。
以后每行两个单词,rock表示石头,paper表示布,scissors表示剪刀。 前面一个单词是Alice出的拳,后面一个单词是Bob出的拳。

输出
平局输出"Draw",否则输出获胜者。

样例输入
3
rock paper
rock scissors
rock rock
样例输出
Bob
Alice
Draw

2、题目分析

在这个题目里,我们首先可以自己定义一个函数,将结果中两个的出手字符串转化为一个数字来表示,然后进行结果比较,分类讨论,即可得出结果。

3、参考代码

#include<stdio.h>
#include<string.h>
int change(char str[]) //将对应字符串转为数字进行标记比较方便 
{
	if(strcmp(str,"rock")==0) //石头用2标记 
	{
		return 2;
	}
	else if(strcmp(str,"scissors")==0) //剪刀用1标记 
	{
		return 1;
	}
	else if(strcmp(str,"paper")==0) //布用0标记 
	{
		return 0;
	}
	else return -1;
}
int main()
{
	int k,m,n;
	char a[10],b[10];
	scanf("%d",&k);
	while(k--)
	{
		scanf(" %s %s",a,b);
		m=change(a);
		n=change(b); 
		if(m==n) //说明相同,那么就是平局咯 
		{
			printf("Draw\n"); 
		}
		else //如果不是平局,那么进行判断胜负时要各种情况依次考虑 
		{
		    if(m==2)
		    {
		    	if(n==1)  printf("Alice\n");
				else      printf("Bob\n"); 
		    }
		    else if(m==1)
		    {
		    	if(n==2) printf("Bob\n"); 
		    	else     printf("Alice\n");
		    }
		    else
		    {
		    	if(n==2) printf("Alice\n");
		    	else    printf("Bob\n"); 
		    }
		}
	}
	return 0;
}

emmmm,我不知道啥叫喜欢,我只知道自己每天都会想你。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42987451/article/details/82949769