C++ 实现:根据 11 分制与 21 分制计算比赛比分结果
```cpp // 引入输入输出流库,用于进行输入输出操作 #include<iostream> // 引入数学库,这里虽然引入但代码中未使用 #include<cmath> // 使用标准命名空间,这样可以直接使用标准库中的对象和函数 using namespace std; // 定义一个包含两个元素的整数数组 f,分别存储两种比赛规则下的获胜所需最少分数 int f[2] = {11, 21}; // 定义一个整数数组 a,用于存储比赛结果,数组大小足够存储可能的最大数据量 int a[25 * 2500 + 10], n = 0; // 主函数,程序的入口点 int main(){ // 定义一个字符变量 tmp,用于临时存储从输入读取的字符 char tmp; // 进入一个无限循环,持续读取输入字符 while(1){ // 从标准输入读取一个字符到 tmp 变量 cin >> tmp; // 如果读取到的字符是 'E',表示输入结束,跳出循环 if(tmp == 'E') break; // 如果读取到的字符是 'W',表示一场比赛获胜,将 1 存入数组 a 中,并将数组索引 n 加 1 else if(tmp == 'W') a[n++] = 1; // 如果读取到的字符是 'L',表示一场比赛失败,将 0 存入数组 a 中,并将数组索引 n 加 1 else if(tmp == 'L') a[n++] = 0; } // 循环两次,分别计算两种比赛规则下的比赛结果 for(int k = 0; k < 2; k++){ // 定义两个整数变量 w 和 l,分别用于记录当前比赛阶段的获胜场数和失败场数 int w = 0, l=0; // 遍历存储比赛结果的数组 a for(int i = 0; i < n; i++){ // 如果当前比赛结果是获胜(a[i] 为 1),则将 w 加 1;否则(a[i] 为 0),将 l 加 1 w += a[i]; l += 1 - a[i]; // 检查是否满足当前比赛规则下的结束条件: // 获胜场数和失败场数中的最大值大于等于当前规则下的获胜所需最少分数 f[k], // 并且获胜场数和失败场数的差值的绝对值大于等于 2 if((max(w, l) >= f[k]) && abs(w - l) >= 2) { // 输出当前比赛阶段的获胜场数和失败场数,格式为 "w:l",并换行 cout << w << ":" << l << endl; // 重置获胜场数和失败场数为 0,开始记录下一个比赛阶段 w = 0; l = 0; } } // 输出最后一个未完成比赛阶段的获胜场数和失败场数,格式为 "w:l",并换行 cout << w << ":" << l << endl; // 输出一个空行,用于分隔两种比赛规则的结果 cout << endl; } // 程序正常结束,返回 0 return 0; } ``` 代码功能 这段 C++ 代码的主要功能是读取一系列表示比赛结果的字符输入(`W` 表示获胜,`L` 表示失败,`E` 表示输入结束),并根据两种不同的比赛规则(分别是 11 分制和 21 分制)计算并输出每场比赛的结果。比赛结束的条件是一方得分达到对应规则的最少分数(11 分或 21 分),并且双方分差至少为 2 分。最后会输出每种规则下最后一场未完成比赛的当前比分。 ######[AI问答 | 905点数解答 | 2025-12-02 18:33:13]
- 易语言子程序 TriggerCode 代码详解:通配符查找与结果运算(字节豆包 | 607点数解答 | 2026-02-09 11:59:34)35
- 洛谷乒乓球题解:11 分制与 21 分制比赛结果计算全攻略(DeepSeek | 675点数解答 | 2025-04-28 18:19:45)303
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- C++ 助力公园园长解决旧桥木板替换难题:计算最少木板数量(字节豆包 | 140点数解答 | 2024-11-18 20:33:37)208
- C++ 初学者搞定小鱼“比可爱”计数难题:代码详解与复杂度分析(字节豆包 | 553点数解答 | 2026-02-07 18:59:03)37
- C++实现:帮小鱼计算左边不如自己可爱的同伴数量(字节豆包 | 337点数解答 | 2026-02-07 21:06:12)40
- 求解 1 至 n 内第 k 大孤独数:质数与余数的巧妙探寻(字节豆包 | 298点数解答 | 2025-11-10 20:01:57)152
- 巧用二分图匹配:Python实现有向无环图最小路径覆盖问题求解(字节豆包 | 714点数解答 | 2025-12-12 18:51:59)52
- 工作日报:用二分图匹配算法攻克有向无环图最小路径覆盖问题(字节豆包 | 1186点数解答 | 2025-12-13 10:23:59)33
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- C++ 实现:计算两整数间个位数为 3 的数字和并判断是否为 3 的倍数(字节豆包 | 358点数解答 | 2025-07-12 21:48:22)326
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)66