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 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM