酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式: 输入第一行给出一个正整数t,为待测矩阵的个数。接下来给出t个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。 输出格式: 每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“yes”,否则输出“no”。 用c语言

好的,下面是一个用C语言编写的程序来判断给定的方阵是否为上三角矩阵: ```c #include <stdio.h> int isUpperTriangular(int matrix[][10], int n) { for (int i = 1; i < n; i++) { for (int j = 0; j < i; j++) { if (matrix[i][j] != 0) { return 0; } } } return 1; } int main() { int t; scanf("%d", &t); while (t > 0) { int n; scanf("%d", &n); int matrix[10][10]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &matrix[i][j]); } } if (isUpperTriangular(matrix, n)) { printf("yes\n"); } else { printf("no\n"); } t--; } return 0; } ``` 解释 1. 输入部分: - 首先读取一个正整数 `t`,表示待测矩阵的个数。 - 对于每个矩阵,首先读取矩阵的大小 `n`,然后读取 `n x n` 的矩阵元素。 2. 判断函数 `isUpperTriangular`: - 这个函数接收一个二维数组 `matrix` 和它的大小 `n`。 - 它通过遍历矩阵的主对角线以下的部分(即 `i > j` 的部分),检查这些位置的元素是否为0。 - 如果发现任何一个非零元素,则返回0,表示该矩阵不是上三角矩阵。 - 如果所有主对角线以下的元素都是0,则返回1,表示该矩阵是上三角矩阵。 3. 输出部分: - 对于每个矩阵,调用 `isUpperTriangular` 函数进行判断。 - 根据判断结果输出 "yes" 或 "no"。 示例 假设输入如下: ``` 2 3 1 2 3 0 4 5 0 0 6 2 1 2 3 4 ``` 输出将是: ``` yes no ``` 第一个矩阵是上三角矩阵,因为主对角线以下的元素都是0。第二个矩阵不是上三角矩阵,因为主对角线以下的元素不全为0。 [2024-11-11 20:16:33 | AI写代码神器 | 556点数解答]

相关提问