如何用C语言写一个n*n矩阵判断一行元素相等
时间: 2024-04-12 21:27:52 浏览: 114
要判断一个n*n矩阵中是否存在一行元素相等,可以使用C语言编写一个相应的程序。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断矩阵中是否存在一行元素相等
bool hasEqualRow(int matrix[][n], int n) {
for (int i = 0; i < n; i++) {
int firstElement = matrix[i][0];
bool isEqual = true;
// 检查当前行的每个元素是否与第一个元素相等
for (int j = 1; j < n; j++) {
if (matrix[i][j] != firstElement) {
isEqual = false;
break;
}
}
// 若当前行的元素都相等,则返回true
if (isEqual) {
return true;
}
}
// 若所有行都没有元素相等,则返回false
return false;
}
int main() {
int n;
printf("请输入矩阵的大小n:");
scanf("%d", &n);
int matrix[n][n];
printf("请输入矩阵的元素:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
if (hasEqualRow(matrix, n)) {
printf("矩阵中存在一行元素相等。\n");
}
else {
printf("矩阵中不存在一行元素相等。\n");
}
return 0;
}
```
这段代码会要求你输入矩阵的大小n,然后逐个输入矩阵的元素。程序会调用`hasEqualRow`函数来判断矩阵中是否存在一行元素相等,并打印相应的结果。
注意:这段代码假设输入的n为正整数,并且不进行异常处理。在实际应用中,你可能需要添加对输入的合法性进行检查和处理。
阅读全文