C语言判断上三角矩阵
时间: 2024-12-29 10:31:11 浏览: 23
在C语言中,判断一个矩阵是否为上三角矩阵(即除了对角线上的元素外,其他所有元素都为0)可以采用嵌套循环的方式遍历矩阵。这里有一个简单的函数示例:
```c
#include <stdio.h>
// 函数定义:检查给定二维数组是否为上三角矩阵
int isUpperTriangular(int matrix[][n], int n) {
for (int i = 0; i < n; ++i) { // 行索引
for (int j = 0; j < n; ++j) { // 列索引
if (i > j && matrix[i][j] != 0) { // 如果当前元素不在主对角线上且非零,则不是上三角矩阵
return 0;
}
}
}
return 1; // 如果所有元素满足条件,返回1表示是上三角矩阵
}
int main() {
int matrix[4][4] = {
{1, 0, 0, 0},
{2, 3, 0, 0},
{4, 5, 6, 0},
{7, 8, 9, 10}
};
int size = sizeof(matrix) / sizeof(matrix[0]);
if (isUpperTriangular(matrix, size)) {
printf("矩阵是一个上三角矩阵。\n");
} else {
printf("矩阵不是一个上三角矩阵。\n");
}
return 0;
}
```
在这个例子中,`isUpperTriangular`函数接受一个二维整数数组和它的行数作为参数,然后通过内层循环检查每个元素是否在其上方的元素(即对角线以外)。如果发现有非零元素不在对角线上,就立即返回0,否则遍历结束后返回1。
阅读全文