第三週做業

 

7-1 判斷上三角矩陣 (15 分)

上三角矩陣指主對角線如下的元素都爲0的矩陣;主對角線爲從矩陣的左上角至右下角的連線。php

本題要求編寫程序,判斷一個給定的方陣是否上三角矩陣。html

輸入格式:

輸入第一行給出一個正整數TTT,爲待測矩陣的個數。接下來給出TTT個矩陣的信息:每一個矩陣信息的第一行給出一個不超過10的正整數nnn。隨後nnn行,每行給出nnn個整數,其間以空格分隔。node

輸出格式:

每一個矩陣的判斷結果佔一行。若是輸入的矩陣是上三角矩陣,輸出「YES」,不然輸出「NO」。python

輸入樣例:

2
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2 

輸出樣例:

YES
NO 
 
做者: C課程組
單位: 浙江大學
時間限制: 400 ms
內存限制: 64 MB
代碼長度限制: 16 KB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 實驗代碼:
 
 
int main()
{
int flag,n,i,j,T,x;
int a[10][10];
scanf("%d",&T);
for(x=0;x<T;x++){
flag=1;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
for(i=1;i<n;i++){
for(j=0;j<i;j++){
if(i>j&&a[i][j]!=0)
flag=0;
}
}
if(flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
實驗流程圖:

實驗錯誤代碼圖片:c++

錯誤緣由:swift

第一個就是忘記定義矩陣的個數,致使從dev-c++中運行結果就是直接輸出了答案,沒有再進行下一個矩陣的運算。
第二個就是忘記在for語句中定義flag的值,致使調試結果就一直是原來的這個值,即便是第二個矩陣和以後的矩陣也是這個值,不會改變。ruby

代碼正確示意圖:bash

相關文章
相關標籤/搜索