C語言 判斷上三角矩陣
阿新 • • 發佈:2018-12-24
任務描述
上三角矩陣指主對角線以下的元素都為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;
}