C++代码:依据输入实现 11 分制与 21 分制比赛结果输出
```cpp // 引入输入输出流头文件,用于进行输入输出操作 #include<iostream> // 引入数学库头文件,这里代码中未实际使用该库功能,但可能在后续扩展中会用到 #include<cmath> // 使用标准命名空间,这样在使用标准库中的类和函数时可以省略std::前缀 using namespace std; // 定义一个包含两个元素的整数数组f,分别存储两种比赛规则下获胜所需的最少分数 // f[0] 对应11分制,f[1] 对应21分制 int f[2] = {11, 21}; // 定义一个较大的整数数组a,用于存储比赛结果,最多可存储25 * 2500个结果 // n 用于记录实际存储的比赛结果数量 int a[25 * 2500 + 10], n = 0; // 主函数,程序的入口点 int main(){ // 定义一个字符变量tmp,用于临时存储从输入读取的字符 char tmp; // 进入一个无限循环,持续读取输入字符 while(1){ // 从标准输入读取一个字符并存储到tmp中 cin >> tmp; // 如果读取到的字符是 'E',表示输入结束,跳出循环 if(tmp == 'E') break; // 如果读取到的字符是 'W',表示一方获胜,将数组a中当前位置赋值为1,并将n加1 else if(tmp == 'W') a[n++] = 1; // 如果读取到的字符是 'L',表示另一方获胜,将数组a中当前位置赋值为0,并将n加1 else if(tmp == 'L') a[n++] = 0; } // 遍历数组f,处理两种比赛规则(11分制和21分制) for(int k = 0; k < 2; k++){ // 初始化两个变量w和l,分别用于记录当前局中双方的得分,初始值都为0 int w = 0, l=0; // 遍历存储比赛结果的数组a for(int i = 0; i < n; i++){ // 如果当前比赛结果为1(即一方获胜),将w加1 w += a[i]; // 如果当前比赛结果为0(即另一方获胜),将l加1 l += 1 - a[i]; // 检查是否满足一局比赛结束的条件: // 1. 双方中至少有一方得分达到或超过f[k](11分制或21分制) // 2. 双方得分差至少为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; } ``` 这段代码的主要功能是根据输入的比赛结果(用 `W` 表示一方获胜,`L` 表示另一方获胜,`E` 表示输入结束),分别按照11分制和21分制输出每一局比赛的结果。每一局比赛结束的条件是一方得分达到或超过规定分数(11分或21分)且双方得分差至少为2分。最后会输出未完成的一局(或整段比赛结束)时双方的得分。 ######[AI问答 | 926点数解答 | 2025-12-02 18:44:32]
- 洛谷乒乓球题解: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
- 求解 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
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)457
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)354
- Python 轻松提取 1.0 - 99.99 小数的整数部分!(字节豆包 | 149点数解答 | 2025-10-25 22:37:26)148
- Python 轻松提取 1.0 - 99.99 小数的整数部分(DeepSeek | 13点数解答 | 2025-11-23 19:06:07)40