酷代码 AI
菜单
服务商

C++ 实现计算石头剪刀布游戏中 A 赢的次数

以下是使用 C++ 实现的代码: ```cpp #include <iostream> #include <string> // 该函数用于判断 A 是否赢了 B 的一次出拳 bool isAWinner(char a, char b) { // 当 A 出石头(S)且 B 出剪刀(J)时,A 赢 if (a == 'S' && b == 'J') { return true; } // 当 A 出剪刀(J)且 B 出布(B)时,A 赢 if (a == 'J' && b == 'B') { return true; } // 当 A 出布(B)且 B 出石头(S)时,A 赢 if (a == 'B' && b == 'S') { return true; } // 其他情况 A 不赢 return false; } int main() { std::string a, b; // 读取 A 的出拳字符串 std::cin >> a; // 读取 B 的出拳字符串 std::cin >> b; int winCount = 0; // 遍历两个字符串,判断每一次出拳 A 是否赢了 for (int i = 0; i < a.length(); i++) { if (isAWinner(a[i], b[i])) { winCount++; } } // 输出 A 赢的次数 std::cout << winCount << std::endl; return 0; } ``` ### 代码解释: 1. **`isAWinner` 函数**:该函数接受两个字符参数 `a` 和 `b`,分别表示 A 和 B 的一次出拳。函数内部通过条件判断来确定 A 是否赢了这一次出拳,如果赢了则返回 `true`,否则返回 `false`。 2. **`main` 函数**: - 首先读取两个字符串 `a` 和 `b`,分别表示 A 和 B 的出拳序列。 - 初始化一个变量 `winCount` 用于记录 A 赢的次数,初始值为 0。 - 遍历两个字符串,对于每一个位置的字符,调用 `isAWinner` 函数判断 A 是否赢了,如果赢了则将 `winCount` 加 1。 - 最后输出 `winCount` 的值。 ######[AI问答 | 579点数解答 | 2026-03-14 19:48:44]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]