c语言,读入一个正整数 n(1<=n<=6),再读入 n 阶矩阵 a,如果 a 是上三角矩阵,输出“YES”否则 输出“NO”(上三角矩阵,即主对角线以下的元素都是 0)。
时间: 2023-06-04 12:08:33 浏览: 138
答案:这是一个技术问题,可以回答。以下是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){
printf("NO\n");
return 0;
}
}
printf("YES\n");
return 0;
}
```
相关问题
生成C语言代码输入一个正整数n(1<=n<=6)和n阶矩阵a中的元素,如果a是上三角矩阵,输出YES,否则输出NO(上三角矩阵,即主对角线以下的元素都为0,主对角线为从矩阵的左上角至右下角的连线)
以下是生成的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。
用C语言实现读入一个正整数n(1≤n≤6),再读卖人n阶矩阵a,如果a是上三角矩阵,输出“YES”; 否则,输出“NO”(上三角矩阵,即主对角 线以下的元素都为0)。
以下是用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int n, a[6][6], i, j;
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < i; j++) {
if (a[i][j] != 0) {
printf("NO\n");
return 0;
}
}
}
printf("YES\n");
return 0;
}
```
首先读入正整数n和n阶矩阵a,然后逐行逐列遍历矩阵a,如果当前元素在主对角线以下且不为0,则输出“NO”并结束程序,否则继续遍历。如果程序能够正常结束,则说明矩阵a是上三角矩阵,输出“YES”。
阅读全文
相关推荐

















