C语言算法题:矩阵转置
这个是我的代码:
#include <stdio.h>int input_M = 0, input_N = 0;
int main() {
scanf("%d%d", &input_M, &input_N);
int matrix1[input_M][input_N];
int matrix2[input_N][input_M];
for (int i = 0; i < input_M; ++i) {
for (int j = 0; j < input_N; ++j) {
scanf("%d", &matrix1[i][j]);
matrix2[j][i] = matrix1[i][j];
}
}
for (int i = 0; i < input_N; ++i) {
for (int j = 0; j < input_M; ++j) {
printf("%d%s", matrix2[i][j], (j == input_M - 1 ? "" : " "));
}
if (i != input_N - 1) { printf("\n"); }
}
return 0;
}
上面是题目,一直是答案错误。
回答:
#include <stdio.h>int input_M = 0, input_N = 0;
int main() {
int i = 0;
int j = 0;
scanf("%d%d", &input_M, &input_N);
int matrix1[input_M][input_N];
for (i = 0; i < input_M; ++i) {
for (j = 0; j < input_N; ++j) {
scanf("%d", &matrix1[i][j]);
}
}
for (j = 0; j < input_N; ++j) {
for (i = 0; i < input_M; ++i) {
printf("%d", matrix1[i][j]);
if (i == input_M - 1) {
printf("\n");
} else {
printf(" ");
}
}
}
return 0;
}
以上是 C语言算法题:矩阵转置 的全部内容, 来源链接: utcz.com/p/192269.html