練習7-7 矩陣運算 (20分)
給定乙個n×n的方陣,本題要求計算該矩陣除副對角線、最後一列和最後一行以外的所有元素之和。副對角線為從矩陣的右上角至左下角的連線。
輸入格式:
輸入第一行給出正整數n(1輸出格式:
在一行中給出該矩陣除副對角線、最後一列和最後一行以外的所有元素之和。
輸入樣例:
4輸出樣例: 第一次錯誤解答:2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1
#include
intmain()
//input the matrix
int result =
0, sum =
0, sub =
0, l_column =
0, l_row =
0, left = matrix[n-1]
[0], right = matrix[0]
[n-1];
for(i =
0; i < n; i++)}
//calculate the sum and sum the sub_diagonal
i = n -1;
for(j =
0; j < n; j++
) l_column +
= matrix[i]
[j];
//sum the last column
//這裡出錯了 i為行號,j為列號。要求最後一列的和應該固定列號不動,對行號加一
j = n -1;
for(i =
0; i < n; i++
) l_row +
= matrix[i]
[j];
//sum the last row
//錯誤同上
result = sum - sub - l_column - l_row + left + right;
//這裡錯了 少加了最後乙個元素
printf
("%d"
, result)
;return0;
}
改正後:
#include
intmain()
//input the matrix
int result =
0, sum =
0, sub =
0, l_column =
0, l_row =
0, left = matrix[n-1]
[0], right = matrix[0]
[n-1
], last = matrix[n-1]
[n-1];
for(i =
0; i < n; i++)}
//calculate the sum and sum the sub_diagonal
j = n -1;
for(i =
0; i < n; i++
) l_column +
= matrix[i]
[j];
//sum the last column
i = n -1;
for(j =
0; j < n; j++
) l_row +
= matrix[i]
[j];
//sum the last row
result = sum - sub - l_column - l_row + left + right + last;
printf
("%d"
, result)
;return0;
}
練習7 7 矩陣運算 20分
給定乙個n n的方陣,本題要求計算該矩陣除副對角線 最後一列和最後一行以外的所有元素之和。副對角線為從矩陣的右上角至左下角的連線。輸入格式 輸入第一行給出正整數n 1輸出格式 在一行中給出該矩陣除副對角線 最後一列和最後一行以外的所有元素之和。輸入樣例 42 3 4 1 5 6 1 1 7 1 8 ...
PTA練習7 7 矩陣運算 20分
給定乙個n n的方陣,本題要求計算該矩陣除副對角線 最後一列和最後一行以外的所有元素之和。副對角線為從矩陣的右上角至左下角的連線。輸入第一行給出正整數n 1在一行中給出該矩陣除副對角線 最後一列和最後一行以外的所有元素之和。4 2 3 4 1 5 6 1 1 7 1 8 1 1 1 1 135 如下...
7 7 矩陣運算
給定乙個n n的方陣,本題要求計算該矩陣除副對角線 最後一列和最後一行以外的所有元素之和。副對角線為從矩陣的右上角至左下角的連線。輸入格式 輸入第一行給出正整數n 1輸出格式 在一行中給出該矩陣除副對角線 最後一列和最後一行以外的所有元素之和。輸入樣例 423 4156 1171 8111 11輸出...