青少年编程知识记录 codecoming

剪刀石头布

【题目描述】

石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。游戏规则:石头打剪刀,布包石头,剪刀剪布。现在,需要你写一个程序来判断石头剪子布游戏的结果。

【输入描述】

第一行是一个整数N,表示一共进行了N次游戏。1 ≤ N ≤ 100。

接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布): S1 S2

字符串之间以空格隔开S1,S2只可能取值在{“Rock”, “Scissors”, “Paper”}(大小写敏感)中。

【输出描述】


输出包括N行,每一行对应一个胜利者(Player1或者Player2),或者游戏出现平局,则输出Tie。

【输入样例】

3

Rock Scissors

Paper Paper

Rock Paper

【输出样例】


Player1

Tie

Player2

#include<iostream>  using namespace std;  int main()  {      char a[101],b[101];      int n;      int i;         cin>>n;         for(i=0; i<n; i++)      {          cin>>a>>b;        if(a[0]=='R'&&b[0]=='S'||a[0]=='S'&&b[0]=='P'||a[0]=='P'&&b[0]=='R')//判断第一个字母即可              cout<<"Player1"<<endl;          else if(a[0]==b[0])              cout<<"Tie"<<endl;          else              cout<<"Player2"<<endl;      }         return 0;  }
// 思路2,判断字符数组和字符串相同  #include<iostream>  #include<cstring>  using namespace std;  int main()  {      char a[101],b[101];      int n;      int i;      cin>>n;      for(i=0; i<n; i++)      {          cin>>a>>b;         	if((strcmp(a,"Rock")==0 && strcmp(b,"Scissors")==0) ||(strcmp(a,"Scissors")==0 && strcmp(b,"Paper")==0) || (strcmp(a,"Paper")==0 && strcmp(b,"Rock")==0) ) // 用strcmp判断相同,注意此处不能用 a=="Rock" 判断是否相等   		    cout<<"Player1"<<endl;  		else if((strcmp(a,"Rock")==0 && strcmp(b,"Rock")==0) ||(strcmp(a,"Scissors")==0 && strcmp(b,"Scissors")==0) || (strcmp(a,"Paper")==0 && strcmp(b,"Paper")==0) )  			cout<<"Tie"<<endl;  		else  			cout<<"Player2"<<endl;     }      return 0;  }
// 思路3  根据每个字符数组的长度来判断用户输入的是什么  #include<iostream>  #include<cstring>  using namespace std;  int main()  {      char a[101],b[101];            int n;      int i;      cin>>n;      for(i=0; i<n; i++)      {          cin>>a>>b;  	    int l1 = strlen(a);  	    int l2 = strlen(b);  	    /*  			Rock     长度4  			Scissors 长度 8  			Paper    长度5   		*/   		if((l1==4 && l2==8) ||(l1== 8 && l2==5) ||(l1==5 && l2==4))  			cout<<"Player1"<<endl;  		else if(l1==l2)  			cout<<"Tie"<<endl;  		else  			cout<<"Player2"<<endl;   	       	     }      return 0;  }



(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:题解目录 浏览: