練習7 7 矩陣運算 20分

2021-10-10 17:42:26 字數 2029 閱讀 3927

練習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輸出...