?矩阵(方阵)的建立与赋值
scanf("%d", &n);
int matix[n][n]; //初始化方阵
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
scanf("%d", &matix[i][j]); // 对方阵按行赋值
判断上三角矩阵
输入样例:
3
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2
3
1 2 3
1 4 5
0 -1 6
输出样例:
YES
NO
NO
?if ((i > j) && matix[i][j] != 0) 核心特判
#include <stdio.h>
int main()
{
int x, n, i = 0, j = 0;
scanf("%d", &x);
for (i = 0; i < x; i++)
{
scanf("%d", &n);
int matix[n][n], flag = 0;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
scanf("%d", &matix[i][j]);
if ((i > j) && matix[i][j] != 0)//对于下三角有i>j时值为0
flag = 1;
}
if (flag)
printf("NO\n");
else printf("YES\n");
}
return 0;
}
|