用java写出代码:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息,每个矩阵的第一行给出不超过10的正整数n。随后n行,每行给出n个正整数,其间以空格分隔。每个矩阵的判断结果占一行。如果输入的矩阵是上三角形矩阵,输出YES,否则输出NO
时间: 2024-05-22 22:17:17 浏览: 80
很高兴为您解答。
以下是您所需的Java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int t = scanner.nextInt(); // 读取待测矩阵的个数
// 逐个读取矩阵并进行判断
for (int i = 0; i < t; i++) {
int n = scanner.nextInt(); // 读取矩阵的维数
int[][] matrix = new int[n][n]; // 创建二维数组用于存储矩阵
// 读取矩阵的数据并存储到二维数组中
for (int j = 0; j < n; j++) {
for (int k = 0; k < n; k++) {
matrix[j][k] = scanner.nextInt();
}
}
// 判断矩阵是否为上三角形矩阵
boolean flag = true; // 假设矩阵为上三角形矩阵
for (int j = 0; j < n; j++) {
for (int k = 0; k < j; k++) {
if (matrix[j][k] != 0) { // 如果存在非零元素则矩阵不是上三角形矩阵
flag = false; // 将标志位设为 false
break;
}
}
if (!flag) { // 如果已经确定矩阵不是上三角形矩阵,则直接退出循环
break;
}
}
// 输出结果
System.out.println(flag ? "YES" : "NO");
}
}
}
希望能帮助到您!如果您还有其他问题或疑问,欢迎随时问我。
阅读全文