将一个二维数组的行和列的元素互换,存到另一个二维数组中。
运行结果
#include <stdio.h>
#define ROWS 3
#define COLS 4
void transpose(int a[ROWS][COLS], int b[COLS][ROWS]);
int main() {
int a[ROWS][COLS] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int b[COLS][ROWS];
transpose(a, b);
printf("Original array:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
printf("Transposed array:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
return 0;
}
void transpose(int a[ROWS][COLS], int b[COLS][ROWS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
b[j][i] = a[i][j];
}
}
}
#include<stdio.h>
int main()
{
int b[3][2];
int i,j;
int a[2][3]={{1,2,3},{4,5,6}};
printf("原数组a=\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%5d ",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("新数组b=\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
{
printf("%5d",b[i][j]);
}
printf("\n");
}
return 0;
}