输入一个正整数n(1≤n≤6)和n阶矩阵a中的元素,如果a是上三角矩阵,输出“YES”;否则,输出“NO”(上三角矩阵即主对角线以下的元素都为0)。用C语言回答
时间: 2025-01-23 21:12:53 浏览: 32
好的,我可以帮你用C语言编写一个程序来检查给定的n阶矩阵是否是一个上三角矩阵。以下是实现这个功能的C语言代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool isUpperTriangular(int n, int matrix[6][6]) {
for (int i = 1; i < n; i++) {
for (int j = 0; j < i; j++) {
if (matrix[i][j] != 0) {
return false;
}
}
}
return true;
}
int main() {
int n;
int matrix[6][6];
// 输入矩阵的阶数
printf("请输入矩阵的阶数(1≤n≤6):");
scanf("%d", &n);
// 输入矩阵元素
printf("请输入矩阵的元素:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 检查是否为上三角矩阵
if (isUpperTriangular(n, matrix)) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
这个程序的工作原理如下:
1. 我们定义了一个函数 `isUpperTriangular` 来检查矩阵是否为上三角矩阵。这个函数遍历矩阵的下三角部分(不包括主对角线),如果发现任何非零元素,就返回 false。
2. 在 `main` 函数中,我们首先输入矩阵的阶数 n。
3. 然后,我们输入矩阵的元素。
4. 最后,我们调用 `isUpperTriangular` 函数来检查矩阵是否为上三角矩阵,并根据结果输出 "YES" 或 "NO"。
这个程序可以处理 1 ≤ n ≤ 6 的情况。你可以根据需要进行修改或扩展。
阅读全文
相关推荐


















