石头剪刀布游戏算法:C++实现
石头剪刀布游戏算法: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;
}
代码解析:
- 首先,我们定义两个变量
aWins和bWins来分别记录玩家 A 和玩家 B 的获胜次数。 - 使用循环读取输入的每一轮比赛结果,并判断谁获胜。
- 如果两名玩家出拳相同,则继续循环。
- 否则,根据石头剪刀布的规则判断谁获胜,并更新相应的获胜次数。
- 循环结束后,比较
aWins和bWins,输出最终的比赛结果。
代码说明:
- 代码使用了 C++ 的输入输出流
cin和cout来读取输入和输出结果。 - 代码使用了
if-else语句来判断谁获胜。 - 代码使用了循环结构来遍历所有的比赛轮数。
注意:
- 代码中使用的变量名和函数名可以根据需要进行修改。
- 代码中没有对输入数据的合法性进行检查,请确保输入数据符合要求。
希望这篇文章能帮助你理解石头剪刀布游戏算法的实现,并尝试使用 C++ 代码实现它!
原文地址: https://www.cveoy.top/t/topic/cJjq 著作权归作者所有。请勿转载和采集!