用C语言 写一个函数,使给定的3×4的二维整型数组转置
时间: 2024-02-01 08:15:25 浏览: 29
以下是一个将3x4的二维整型数组转置的C语言函数:
```c
void transpose(int arr[3][4]) {
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 4; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
```
使用方法:
```c
int main() {
int arr[3][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
transpose(arr);
// 输出转置后的数组
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", arr[j][i]);
}
printf("\n");
}
return 0;
}
```
输出结果:
```
1 5 9
2 6 10
3 7 11
4 8 12
```
相关问题
用c语言写一个函数,使给定的3乘3的二维整型数组转置,即行列互换
好的,根据你的要求,我可以给你提供以下 C 语言代码:
```c
void transpose(int arr[3][3]) {
int i, j, temp;
for (i = 0; i < 3; i++) {
for (j = i; j < 3; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
```
这个函数接收一个 3 x 3 的二维整型数组作为参数,然后将其转置,即行列互换。这里使用了两个循环来遍历数组,交换对应位置的元素即可实现转置。
C语言写一个函数,使给定的一个3×3的二维整形数组转置。
可以通过以下代码实现给定的一个3×3的二维整形数组转置:
```c
void transpose(int arr[][3]) {
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i; j < 3; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
```
这个函数接受一个3×3的二维整形数组作为参数,并将其转置。它使用一个临时变量来交换数组中对应位置的元素,从而实现转置。在这个函数中,我们使用两个嵌套的for循环,分别遍历数组的行和列。在内部循环中,我们将对角线上方的元素与对角线下方的元素交换。最终,数组中的元素将被转置。