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