创建一个接受 5 * 5 的 2D 矩阵的函数,如果它至少有一个 Bingo 则返回 True ,如果没有则返回 False 。 用C++代码表示
时间: 2023-04-02 17:03:38 浏览: 229
好的,我可以回答这个问题。以下是用 C 代码表示的函数:
```c
#include <stdio.h>
#include <stdbool.h>
bool checkBingo(int matrix[][5]) {
bool bingo = false;
// 检查行
for (int i = ; i < 5; i++) {
bool rowBingo = true;
for (int j = ; j < 5; j++) {
if (matrix[i][j] != 'X') {
rowBingo = false;
break;
}
}
if (rowBingo) {
bingo = true;
break;
}
}
// 检查列
for (int i = ; i < 5; i++) {
bool colBingo = true;
for (int j = ; j < 5; j++) {
if (matrix[j][i] != 'X') {
colBingo = false;
break;
}
}
if (colBingo) {
bingo = true;
break;
}
}
// 检查对角线
bool diagonalBingo1 = true;
bool diagonalBingo2 = true;
for (int i = ; i < 5; i++) {
if (matrix[i][i] != 'X') {
diagonalBingo1 = false;
}
if (matrix[i][4-i] != 'X') {
diagonalBingo2 = false;
}
}
if (diagonalBingo1 || diagonalBingo2) {
bingo = true;
}
return bingo;
}
int main() {
int matrix[5][5] = {
{'X', 'X', 'X', 'X', 'X'},
{'X', 'O', 'X', 'O', 'X'},
{'X', 'X', 'O', 'X', 'X'},
{'X', 'O', 'X', 'O', 'X'},
{'X', 'X', 'X', 'X', 'X'}
};
bool hasBingo = checkBingo(matrix);
printf("%s\n", hasBingo ? "True" : "False");
return ;
}
```
这个函数接受一个 5x5 的矩阵作为参数,然后检查行、列和对角线是否有连续的五个 'X',如果有则返回 True,否则返回 False。
阅读全文