c语言判断上三角矩阵。输入一个正整数 n (1≤n≤6)和 n 阶方阵 a 中的元素,如果 a 是上三角矩阵,输出“YES”,否则,输出“NO”。上三角矩阵指主对角线以下的元素都为 0 的矩阵,主对角线为从矩阵的左上角至右下角的连线。
时间: 2023-06-16 18:04:18 浏览: 155
以下是一个简单的 C 语言程序,用于判断输入的矩阵是否为上三角矩阵:
```c
#include <stdio.h>
int main()
{
int n, i, j, a[6][6], flag = 1;
scanf("%d", &n);
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
if(j < i && a[i][j] != 0) // 判断是否为上三角矩阵
{
flag = 0;
}
}
}
if(flag)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
return 0;
}
```
程序中,首先输入一个正整数 n,表示矩阵的阶数。然后输入 n 行,每行有 n 个数,表示矩阵中的元素。在输入的过程中,判断每个元素是否在主对角线以下,如果是,则进行标记。最后根据标记输出判断结果。
相关问题
c语言判断上三角矩阵。输入一个正整数 n (1≤n≤6)和 n 阶方阵 a 中的元素,如果 a 是上三角矩阵,输出“YES”, 否则,输出“NO”。上三角矩阵指主对角线以下的元素都为 0 的矩阵,主对角线为从矩阵的左上角至右下角的连线。
可以通过两重循环遍历整个矩阵,判断主对角线以下的元素是否均为 0,若均为 0,则为上三角矩阵。具体实现如下:
```c
#include <stdio.h>
int main() {
int n, a[6][6];
printf("请输入矩阵的阶数 n:");
scanf("%d", &n);
printf("请输入矩阵的元素:\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++) { // 判断主对角线以下的元素是否为 0
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(1≤n≤6)和n阶方阵a中的元素,如果a是三角矩阵,输出“YES”,否则,输出“NO”。上三角矩阵指主对角线以下的元素都为阵,主对角线为从矩阵的左上角至右下角的连线。试编写相应程序。用C语言编写
以下是一个示例程序:
```c
#include <stdio.h>
int main() {
int n, i, j, is_upper_triangular = 1;
scanf("%d", &n);
int a[n][n];
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
if (j < i && a[i][j] != 0) {
is_upper_triangular = 0;
}
}
}
if (is_upper_triangular) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
程序首先读入矩阵的大小n,然后读入n*n个整数作为矩阵的元素,并检查主对角线以下的元素是否都是0。如果是,则判断矩阵为上三角矩阵,否则矩阵不是上三角矩阵。程序输出“YES”或“NO”作为结果。