1125 上三角矩阵的判断

题目来源:
https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1125
Description
编写程序,输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“NO”。
上三角矩阵即主对角线以下(不包括主对角线)的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。
要求定义函数IsUpperTriMatrix()判断矩阵a是否是上三角矩阵,如果是返回1,否则返回0。函数原型如下:
IsUpperTriMatrix(int a, int n);
Input
输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,均为整数。
Output
如果a是上三角矩阵,输出“YES”,否则,输出“NO”
Sample Input
4
1 2 3 4
0 2 2 2
0 0 3 4
0 0 0 4
Sample Output
YES
题意描述:
输入正整数n和n阶方阵
调用函数IsUpperTriMatrix()判断是否为上三角矩阵,是输出“YES”,否输出“NO”
解题思路:
函数IsUpperTriMatrix()中根据行列的变化规律写出写出判断边界即可
程序代码:

 1 #include<stdio.h>
 2 int a[11][11];
 3 int IsUpperTriMatrix(int n);
 4 int main()
 5 {
 6     int n,i,j;
 7     while(scanf("%d",&n) != EOF)
 8     {
 9         for(i=1;i<=n;i++)
10         {
11             for(j=1;j<=n;j++)
12             {
13                 scanf("%d",&a[i][j]);
14             }
15         }
16         if(IsUpperTriMatrix(n))
17         printf("YES\n");
18         else
19         printf("NO\n");
20     }
21     return 0;
22 }
23 int IsUpperTriMatrix(int n)
24 {
25     int i,j;
26     for(i=2;i<=n;i++)
27     {
28         for(j=1;j<=i-1;j++)
29         {
30             if(a[i][j] != 0)
31             return 0;
32         }
33     }
34     return 1;
35 }

 

posted @ 2017-05-01 22:26  Reqaw  阅读(3171)  评论(0编辑  收藏  举报