1. 程式人生 > >C語言 判斷上三角矩陣

C語言 判斷上三角矩陣

任務描述
上三角矩陣指主對角線以下的元素都為0的矩陣;主對角線為從矩陣的左上角至右下角的連線。

功能要求
①輸入格式:
輸入第一行給出一個正整數TT,為待測矩陣的個數。接下來給出TT個矩陣的資訊:每個矩陣資訊的第一行給出一個不超過10的正整數nn。隨後nn行,每行給出nn個整數,其間以空格分隔。
②輸出格式:每個矩陣的判斷結果佔一行。如果輸入的矩陣是上三角矩陣,輸出“YES”,否則輸出“NO”。
③輸入樣例:
2
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2
④輸出樣例:
YES
NO

#include<stdio.h>
#include<stdlib.h>
int judgeMatrix(int evMN) { int i, j; int **matrix; matrix = (int**)malloc(sizeof(int)*evMN); for (i = 0; i < evMN; i++) { matrix[i] = (int*)malloc(sizeof(int)*evMN); } for (i = 0; i < evMN; i++) { for (j = 0; j < evMN; j++) { scanf("%d", &matrix[i][j]); } } for
(i = 0; i < evMN; i++) { for (j = 0; j < i; j++) { if (matrix[i][j] != 0) { return 0; } } } return 1; } int main() { int MNum, evMN; int *result; int i; scanf("%d", &MNum); result = (int*)malloc(sizeof(int)* MNum); for
(i = 0; i < MNum; i++){ scanf("%d", &evMN); result[i] = judgeMatrix(evMN); } for (i = 0; i < MNum; i++) { if (result[i] == 1) { printf("Yes\n"); } else { printf("No\n"); } } system("pause"); return 0; }