思路:先用二维数组存储数据,设置一个初始值为0的key值标记矩阵的状态,然后遍历矩阵,若发现对角线以下存在不为0的元素,则将key值置为-1,遍历完后检查key值,若key==0则判定为上三角矩阵,反之则判定为非上三角矩阵:
#include<stdio.h> int main(){ int n,a[10][10],i,j,key=0; scanf("%d",&n); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); for(i=1;i<n;i++) for(j=0;j<i;j++){ if(a[i][j]!=0) key=-1; } if(key==0) printf("YES\n"); else printf("NO\n"); }