石头剪子布

石头剪子布

      • 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())  # 读取游戏进行的次数N

for _ 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💐点点关注,收藏不迷路💐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/933369.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ核心概念及工作流程 + AMQP

文章目录 一. RabbitMQ核心概念1. Producer, Consumer, Broker2. Connection和Channel3. Virtual host4. Queue5. Exchange 二. RabbitMQ的工作流程三. AMQP四. web界面操作对用户操作对虚拟机操作 一. RabbitMQ核心概念 RabbitMQ是⼀个消息中间件, 也是⼀个⽣产者消费者模型.…

js循环导出多个word表格文档

文章目录 js循环导出多个word表格文档一、文档模板编辑二、安装依赖三、创建导出工具类exportWord.js四、调用五、效果图js循环导出多个word表格文档 结果案例: 一、文档模板编辑 二、安装依赖 // 实现word下载的主要依赖 npm install docxtemplater pizzip --save// 文件操…

字节高频算法面试题:小于 n 的最大数

问题描述&#xff08;感觉n的位数需要大于等于2&#xff0c;因为n的位数1的话会有点问题&#xff0c;“且无重复”是指nums中存在重复&#xff0c;但是最后返回的小于n最大数是可以重复使用nums中的元素的&#xff09;&#xff1a; 思路&#xff1a; 先对nums倒序排序 暴力回…

windows11 实现Hyper-v ubuntu22.04 GPU虚拟化(GPU分区、GPU-P)教程

注:1、本文提到的vGPU、GPU分区都是指的微软的GPU-P技术。 2、在实操过程中,发现网上的很多文章要么记录不全,要么描述不清楚,导致的结果就是根本没法走通。希望通过该文章能解决小伙伴们在实操中遇到的一些坑。 前提说明 1、物理机需要支持SR-IOV,在主板BIOS中可以通过…

AndroidStudio-常见界面控件

一、Button package com.example.review01import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextViewclass Review01Activity : AppCompatActivity() {override fun onCreate(savedInstanceStat…

沐风老师3DMAX摄相机阵列插件使用方法

3DMAX摄相机阵列插件&#xff0c;从网格对象或样条线的顶点法线快速创建摄相机阵列。该插件从网格的顶点或样条线的节点获取每个摄影机的位置和方向。 3DMAX摄相机阵列插件支持目前3dMax主流的物理相机、标准相机、VRay物理相机。 【版本要求】 3dMax 2015及更高版本 【安装方…

记录一下,解决js内存溢出npm ERR! code ELIFECYCLEnpm ERR! errno 134 以及 errno 9009

项目是个老项目&#xff0c;依赖包也比较大&#xff0c;咱就按正常流程走一遍来详细解决这个问题&#xff0c;先看一下node版本&#xff0c;我用的是nvm管理的&#xff0c;详细可以看我的其他文章 友情提醒&#xff1a;如果项目比较老&#xff0c;包又大&#xff0c;又有一些需…

飞飞5.4游戏源码(客户端+服务端+工具完整源代码+5.3fix+5.4patch+数据库可编译进游戏)

飞飞5.4游戏源码&#xff08;客户端服务端工具完整源代码5.3fix5.4patch数据库可编译进游戏&#xff09; 下载地址&#xff1a; 通过网盘分享的文件&#xff1a;【源码】飞飞5.4游戏源码&#xff08;客户端服务端工具完整源代码5.3fix5.4patch数据库可编译进游戏&#xff09; 链…

springboot的 nacos 配置获取不到导致启动失败及日志不输出问题

前言 问题 1. 本地启动应用时&#xff0c;一切正常&#xff0c;但是部署 docker 后&#xff0c;会因为获取不到 nacos 中的配置导致服务启动失败。 2.当 docker 中的服务一直重启&#xff0c;可能会突然某一次启动成功&#xff0c;之后只要不重新构建 docker 镜像&am…

Docker Compose实战一( 轻松部署 Nginx)

通过过前面的文章&#xff08;Docker Compose基础语法&#xff09;你已经掌握基本语法和常用指令认识到Docker Compose作为一款强大工具的重要性&#xff0c;它极大地简化了多容器Docker应用程序的部署与管理流程。本文将详细介绍如何使用 Docker Compose 部署 Nginx&#xff0…

汽车IVI中控OS Linux driver开发实操(二十八):回声消除echo cancellation和噪声消除Noise reduction

概述: 在当今高度互联的世界中,清晰的实时通信比以往任何时候都更重要。在远程团队会议期间,没有什么能像回声一样打断对话。当说话者听到他们的声音回响时,可能会分散注意力,甚至无法理解对话。即使是很小的回声也会产生很大的影响,仅仅25毫秒的振幅就足以造成声音干扰…

计算机毕设-基于springboot的实践性教学系统设计与实现(附源码+lw+ppt+开题报告)

博主介绍&#xff1a;✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围&#xff1a;Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…

UE5 猎户座漂浮小岛 09 移动能力 角色属性

UE5 猎户座漂浮小岛 09 移动能力 角色属性&#xff08;1&#xff09; 1.移动能力 1.1 加速跑 BlendSpace&#xff1a;混合空间 2.角色属性 2.1 行动点数 AP&#xff1a;Action Point Max AP&#xff1a;Max Action Point AP CPS&#xff1a;Action Point Consume Per Sec…

低级爬虫实现-记录HCIP云架构考试

因工作需要考HCIP云架构&#xff08;HCIP-Cloud Service Solution Architect&#xff09;证书, 特意在淘宝上买了题库&#xff0c; 考过了。 事后得知自己被坑了&#xff0c; 多花了几十大洋。 所以想着在授权期内将题库“爬”下来&#xff0c; 共享给大家。 因为整个过程蛮有…

IDEA实现javaweb用户登录(增删改查)

IDEA实现javaweb用户登录&#xff08;增删改查&#xff09; 文章目录 IDEA实现javaweb用户登录&#xff08;增删改查&#xff09;前言一、IDEA 软件的简单使用1 创建一个普通 java 项目2 新增 web 配置将项目由普通的Java项目变为 javaweb项目2.1 新增 web 配置2.2 新增项目文件…

【机器学习】——windows下安装anaconda并在vscode上进行配置

一、安装anaconda 1.进入清华的镜像网站&#xff0c;下载自己电脑对应的anaconda版本。网站&#xff1a;https://repo.anaconda.com/archive/ 这里我下载的版本是anaconda3-2024.10-1-Windows-x86-64 2.下载完毕后开始安装anaconda 3.配置anaconda环境变量 在设置中找到编…

3.5 认识决策树

3.5 认识决策树 3.5.1 认识决策树 如何高效的进行决策&#xff1f; 特征的先后顺序 3.5.2 决策树分类原理详解 已知有四个特征&#xff0c;预测 是否贷款给某个人。 先看房子&#xff0c;再看工作&#xff0c;是否贷款。 年龄&#xff0c;信贷情况&#xff0c;工作&#…

【Windows11系统局域网共享文件数据】

【Windows11系统局域网共享文件数据】 1. 引言1. 规划网络2. 获取必要的硬件3. 设置网络4. 配置网络设备5. 测试网络连接6. 安全性和维护7. 扩展和优化 2. 准备工作2.1: 启用网络发现和文件共享2.2: 设置共享文件夹 3. 访问共享文件夹4. 小贴士5. 总结 1. 引言 随着家庭和小型办…

[SWPUCTF 2022 新生赛]funny_php

进入靶场环境 <?phpsession_start();highlight_file(__FILE__);if(isset($_GET[num])){if(strlen($_GET[num])<3&&$_GET[num]>999999999){echo ":D";$_SESSION[L1] 1;}else{echo ":C";}}if(isset($_GET[str])){$str preg_replace(/NS…

ARMv8-A MacOS调试环境搭建

文章目录 简介安装qemu交叉编译工具链C语言插件 gdb调试测试代码添加调试配置 JLink 调试树莓派 简介 本节主要介绍基于Visual Studio Code在MacOS下调试环境的搭建&#xff0c;Linux发行版上的过程也类型&#xff0c;它主要使用到以下工具链&#xff1a; aarch64 架构的交叉…