以下是我尝试的程序。
我得到2D数组并在扫描完所有元素后打印该数组 如下所示
int main(void) {
puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
int R, C;
scanf("%d %d", &R, &C);
int i[C][R];
for (int row = 0; row < R; row++) {
for (int column = 0; column < C; column++) {
int val = 0;
scanf("%d", &val);
i[row][column] = val;
}
}
for (int row = 0; row < R; row++) {
for (int column = 0; column < C; column++) {
printf("%d \t", i[row][column]);
}
printf("\n");
}
printf("RotatedMatrix\n");
return EXIT_SUCCESS;
}
我将输入指定为3,4
,表示3行4列,因此总共有12个元素
我为矩阵
提供1到12的输入但输出矩阵如下所示
1 2 3 5
5 6 7 9
9 10 11 12
而不是
1 2 3 4
5 6 7 8
9 10 11 12
最后一列的元素改变如上
我无法弄清楚我错过了什么。如果我得到任何帮助会很有帮助
答案 0 :(得分:2)
应该是
int i[R][C];
而不是
int i[C][R];