考虑下面的C程序,该程序应该计算给定的4 x 4矩阵M的转置。请注意,程序中有一个X,它表示某些缺少的语句。选择正确的选项来替换程序中的X。
#include
#define ROW 4
#define COL 4
int M[ROW][COL] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
main()
{
int i, j, t;
for (i = 0; i < 4; ++i)
{
X
}
for (1 = 0; i < 4; ++i)
for (j = 0; j < 4; ++j)
printf ("%d", M[i][j]);
}
A) |
|
B) |
|
C)
|
|
D) |
|
(A) A
(B) B
(C) C
(D) D答案: (C)
解释:
- 要计算转置j需要以i开头,所以A和B是错误的
- 在D中,给定的语句是错误的,因为需要为临时变量t分配一些值,反之则不
for(j = 0; j < 4; ++j){ t = M[i][j]; M[i][j] = M[j][i]; M[j][i] = t; }
所以答案是C
在解决方案中检出正确的选项C:https://ide.geeksforgeeks.org/r7wbP6
这个问题的测验