生成C语言代码输入一个正整数n(1<=n<=6)和n阶矩阵a中的元素,如果a是上三角矩阵,输出YES,否则输出NO(上三角矩阵,即主对角线以下的元素都为0,主对角线为从矩阵的左上角至右下角的连线)
时间: 2023-06-19 19:06:42 浏览: 126
C语言判断是否为上三角矩阵
以下是生成的C语言代码实现:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
int flag = 1;
for (int i = 1; i < n; i++) {
for (int j = 0; j < i; j++) {
if (a[i][j] != 0) {
flag = 0;
break;
}
}
if (flag == 0) {
break;
}
}
if (flag == 1) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
这段代码中,首先读入矩阵的阶数n和元素值,然后使用二重循环将元素值存入二维数组a中。接着使用另外一个二重循环判断矩阵是否为上三角矩阵,如果有任何一个主对角线以下的元素不为0,则不是上三角矩阵,将flag标记为0,跳出循环。最后根据flag的值输出YES或NO。
注意:由于矩阵是n阶方阵,所以这里使用了二维数组a[n][n]来存储矩阵元素。同时,判断上三角矩阵时,内层循环的起始位置是0,而非1,因为主对角线上的元素也需要判断是否为0。
阅读全文