石头剪子布

news/2024/12/12 2:57:06/

石头剪子布

      • C语言实现
      • C++实现
      • Java实现
      • Python实现


💐The Begin💐点点关注,收藏不迷路💐

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

游戏规则:石头打剪刀,布包石头,剪刀剪布。
现在,需要你写一个程序来判断石头剪子布游戏的结果。

输入

输入包括N+1行:
第一行是一个整数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

提示
Rock是石头,Scissors是剪刀,Paper是布。

C语言实现

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

#define MAX_N 100

int main() {
int n;
scanf(“%d”, &n); // 读取游戏进行的次数N

char player1[MAX_N][10];
char player2[MAX_N][10];for (int i = 0; i < n; i++) {scanf("%s %s", player1[i], player2[i]);  // 读取每一轮两个玩家的选择
}for (int i = 0; i < n; i++) {if (strcmp(player1[i], "Rock") == 0 && strcmp(player2[i], "Scissors") == 0) {printf("Player1\n");  // 石头赢剪刀} else if (strcmp(player1[i], "Scissors") == 0 && strcmp(player2[i], "Paper") == 0) {printf("Player1\n");  // 剪刀赢布} else if (strcmp(player1[i], "Paper") == 0 && strcmp(player2[i], "Rock") == 0) {printf("Player1\n");  // 布赢石头} else if (strcmp(player1[i], "Scissors") == 0 && strcmp(player2[i], "Rock") == 0) {printf("Player2\n");  // 剪刀输石头} else if (strcmp(player1[i], "Paper") == 0 && strcmp(player2[i], "Scissors") == 0) {printf("Player2\n");  // 布输剪刀} else if (strcmp(player1[i], "Rock") == 0 && strcmp(player2[i], "Paper") == 0) {printf("Player2\n");  // 石头输布} else {printf("Tie\n");  // 平局情况}
}return 0;

}

C++实现

#include <iostream>
#include <string>
using namespace std;

int main() {
int n;
cin >> n; // 读取游戏进行的次数N

string player1[100];
string player2[100];for (int i = 0; i < n; i++) {cin >> player1[i] >> player2[i];  // 读取每一轮两个玩家的选择
}for (int i = 0; i < n; i++) {if (player1[i] == "Rock" && player2[i] == "Scissors") {cout << "Player1\n";  // 石头赢剪刀} else if (player1[i] == "Scissors" && player2[i] == "Paper") {cout << "Player1\n";  // 剪刀赢布} else if (player1[i] == "Paper" && player2[i] == "Rock") {cout << "Player1\n";  // 布赢石头} else if (player1[i] == "Scissors" && player2[i] == "Rock") {cout << "Player2\n";  // 剪刀输石头} else if (player1[i] == "Paper" && player2[i] == "Scissors") {cout << "Player2\n";  // 布输剪刀} else if (player1[i] == "Rock" && player2[i] == "Paper") {cout << "Player2\n";  // 石头输布} else {cout << "Tie\n";  // 平局情况}
}return 0;

}

Java实现

import java.util.Scanner;

public class RockPaperScissors {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 读取游戏进行的次数N

    String[] player1 = new String[n];String[] player2 = new String[n];for (int i = 0; i < n; i++) {player1[i] = scanner.next();player2[i] = scanner.next();  // 读取每一轮两个玩家的选择}for (int i = 0; i < n; i++) {if ("Rock".equals(player1[i]) && "Scissors".equals(player2[i])) {System.out.println("Player1");  // 石头赢剪刀} else if ("Scissors".equals(player1[i]) && "Paper".equals(player2[i])) {System.out.println("Player1");  // 剪刀赢布} else if ("Paper".equals(player1[i]) && "Rock".equals(player2[i])) {System.out.println("Player1");  // 布赢石头} else if ("Scissors".equals(player1[i]) && "Rock".equals(player2[i])) {System.out.println("Player2");  // 剪刀输石头} else if ("Paper".equals(player1[i]) && "Scissors".equals(player2[i])) {System.out.println("Player2");  // 布输剪刀} else if ("Rock".equals(player1[i]) && "Paper".equals(player2[i])) {System.out.println("Player2");  // 石头输布} else {System.out.println("Tie");  // 平局情况}}scanner.close();
}

}

Python实现

n = int(input())  # 读取游戏进行的次数Nfor _ in range(n):player1, player2 = input().split()  # 读取每一轮两个玩家的选择if player1 == "Rock" and player2 == "Scissors":print("Player1")  # 石头赢剪刀elif player1 == "Scissors" and player2 == "Paper":print("Player1")  # 剪刀赢布elif player1 == "Paper" and player2 == "Rock":print("Player1")  # 布赢石头elif player1 == "Scissors" and player2 == "Rock":print("Player2")  # 剪刀输石头elif player1 == "Paper" and player2 == "Scissors":print("Player2")  # 布输剪刀elif player1 == "Rock" and player2 == "Paper":print("Player2")  # 石头输布else:print("Tie")  # 平局情况

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

http://www.ppmy.cn/news/1554381.html

相关文章

三、【docker】docker和docker-compose的常用命令

文章目录 一、docker常用命令1、镜像管理2、容器管理3、容器监控和调试4、网络管理5、数据卷管理6、系统维护7、实用组合命令8、常用技巧二、docker-compose常用命令1、基本命令2、构建相关3、运行维护4、常用组合命令5、实用参数 一、docker常用命令 1、镜像管理 # 查看本地…

力扣--LCR 177.撞色搭配

题目 整数数组 sockets 记录了一个袜子礼盒的颜色分布情况&#xff0c;其中 sockets[i] 表示该袜子的颜色编号。礼盒中除了一款撞色搭配的袜子&#xff0c;每种颜色的袜子均有两只。请设计一个程序&#xff0c;在时间复杂度 O(n)&#xff0c;空间复杂度O(1) 内找到这双撞色搭配…

酷柚易汛进销存系统PHP+Uniapp

移动端订货通、商品管理、库存管理、订单管理、客户管理、供应商、财务管理、经营分析 版本更新V1.6.4 1、新增供应商分类不可添加重复类别2、新增客户分类不可添加重复类别3、新增商品分类不可添加重复类别4、新增支出类别不可添加重复类别5、新增收入类别不可添加重复类别6…

21天掌握javaweb-->第13天:Docker容器化部署与微服务简介

Docker基础与Spring Boot应用的容器化部署 Docker的基本概念&#xff1a; Docker是一个开源的应用容器引擎&#xff0c;它使得应用的打包、分发和运行变得更加简单。容器是Docker使用的封装应用及其运行环境的轻量级、可移植的单元。 Docker的核心组件&#xff1a; 镜像&…

【23种设计模式】原型模式:理论剖析与Java实践

文章目录 原型模式&#xff1a;理论剖析与 Java 实践应用一、原型模式概述二、Java 实现示例&#xff08;一&#xff09;原型接口&#xff08;二&#xff09;具体原型类 三、关键步骤&#xff08;一&#xff09;创建原型对象&#xff08;二&#xff09;克隆原型对象 四、流程图…

PTL系统助力新能源汽车生产线的物料精准管理

在新能源汽车生产线蓬勃发展的当下&#xff0c;多车型混合生产模式已成为行业常态。传统的物料管理方式在面对多种型号新能源汽车生产时&#xff0c;由于缺乏精准的指引和高效的防错机制&#xff0c;常常出现物料错拿导致产品不良&#xff0c;以及因核对物料耗费大量时间而造成…

selenium常见接口函数使用

博客主页&#xff1a;花果山~程序猿-CSDN博客 文章分栏&#xff1a;测试_花果山~程序猿的博客-CSDN博客 关注我一起学习&#xff0c;一起进步&#xff0c;一起探索编程的无限可能吧&#xff01;让我们一起努力&#xff0c;一起成长&#xff01; 目录 1. 查找 查找方式 css_s…

基于Matlab的变压器仿真模型建模方法(9):三相变压器组的建模仿真(续)

1.引言 前一节介绍了基于混合磁链的考虑主磁路饱和情况的三相变压器组的Simulink仿真模型,并应用它对Y,yn接法三相变压器组的瞬态过程进行了仿真计算。这一节建立一个新的基于等效电路的Simulink三相变压器组的仿真模型,并应用它对Y,d11接法的三相变压器组的瞬态过程进行仿…