石头剪刀布游戏算法:C++ 实现

问题描述: 石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。一天,小a和小b正好在玩石头剪刀布,假设 1 代表石头,2 代表剪刀,3 代表布。小a和小b一共玩了 n 轮,请问最后的比赛结果是小a赢了还是小b赢了,还是平局?

输入描述: 第一行,是一个整数 n(n<=100) 接下来 n 行,每行有 2 个数,分别代表每轮比赛中小a和小b的出拳。

输出描述: 如果小a赢了,输出字符串“a win”,如果小b赢了,输出字符串“b win”,如果平局则输出字符串“tie”。(请注意:输出的字符串全部是小写)

示例输入 1:

3
1 2
2 3
1 1

示例输出 1:

a win

C++ 代码实现:

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    
    int aWins = 0;
    int bWins = 0;
    
    for (int i = 0; i < n; i++) {
        int a, b;
        cin >> a >> b;
        
        if (a == b) {
            continue; // 平局
        } else if ((a == 1 && b == 2) || (a == 2 && b == 3) || (a == 3 && b == 1)) {
            aWins++; // a赢
        } else {
            bWins++; // b赢
        }
    }
    
    if (aWins > bWins) {
        cout << 'a win' << endl;
    } else if (aWins < bWins) {
        cout << 'b win' << endl;
    } else {
        cout << 'tie' << endl;
    }
    
    return 0;
}

代码解析:

  1. 首先,我们定义两个变量 aWinsbWins 来分别记录玩家 A 和玩家 B 的获胜次数。
  2. 使用循环读取输入的每一轮比赛结果,并判断谁获胜。
  3. 如果两名玩家出拳相同,则继续循环。
  4. 否则,根据石头剪刀布的规则判断谁获胜,并更新相应的获胜次数。
  5. 循环结束后,比较 aWinsbWins,输出最终的比赛结果。

代码说明:

  • 代码使用了 C++ 的输入输出流 cincout 来读取输入和输出结果。
  • 代码使用了 if-else 语句来判断谁获胜。
  • 代码使用了循环结构来遍历所有的比赛轮数。

注意:

  • 代码中使用的变量名和函数名可以根据需要进行修改。
  • 代码中没有对输入数据的合法性进行检查,请确保输入数据符合要求。

希望这篇文章能帮助你理解石头剪刀布游戏算法的实现,并尝试使用 C++ 代码实现它!

石头剪刀布游戏算法:C++实现

原文地址: https://www.cveoy.top/t/topic/cJjq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录