设 A 是一个大小为 nx n 的方阵。考虑以下程序。什么是预期的输出?
C = 100
for i = 1 to n do
for j = 1 to n do
{
Temp = A[i][j] + C
A[i][j] = A[j][i]
A[j][i] = Temp - C
}
for i = 1 to n do
for j = 1 to n do
Output(A[i][j]);
(A)矩阵 A 本身
(B)矩阵 A 的转置
(C) A的上对角线元素加100,A的对角线元素减100
(D)以上都不是答案:(一)
解释:如果我们看一下第一个循环的内部语句,我们可以注意到语句交换了所有 i 和 j 的 A[i][j] 和 A[j][i]。由于循环对所有元素运行,每个元素 A[l][m] 将被交换两次,一次用于 i = l 和 j = m,然后用于 i = m 和 j = l。交换两次意味着矩阵不会改变。
资料来源:https://www.geeksforgeeks.org/data-structures-algorithms-set-34/
这个问题的测验