题目来源:
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 }
来源:https://www.cnblogs.com/wenzhixin/p/6793193.html