C语言写一个函数,将二维数组(3*3)转置,即行列互换
时间: 2024-02-03 20:13:32 浏览: 25
以下是一个将3x3二维数组转置的C语言函数:
```c
void transpose(int arr[3][3]) {
int i, j, temp;
for(i = 0; i < 3; i++) {
for(j = i+1; j < 3; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
```
这个函数接受一个3x3的整型二维数组作为参数,并将其转置。在转置中,我们使用了一个临时变量来交换数组元素。
相关问题
c语言函数实现3*3二维数组的转置
要实现一个3x3二维数组的转置,你可以使用以下的C语言函数:
```c
#include <stdio.h>
void transpose(int arr[3][3])
{
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
int main()
{
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
transpose(arr);
printf("转置后的数组:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码中的 `transpose` 函数接受一个3x3的二维数组作为参数,并通过两个嵌套的循环来实现转置操作。转置就是将矩阵的行和列互换位置。在 `main` 函数中,我们定义了一个3x3的二维数组 `arr`,然后调用 `transpose` 函数对其进行转置操作。最后,我们使用嵌套的循环遍历转置后的数组并打印出来。输出结果是转置后的数组:
```
转置后的数组:
1 4 7
2 5 8
3 6 9
```
希望这个代码能够满足你的需求!如果有任何问题,请随时提问。
用c语言写一个函数,使输入的一个3x3的二维整形数组转置,即行列互换
好的,以下是用C语言写一个函数,使输入的一个3x3的二维整型数组转置:
```
void transpose(int arr[3][3]) {
int i, j, temp;
for (i = 0; i < 3; i++) {
for (j = i+1; j < 3; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
```
你可以在你的代码中调用这个函数,传入需要转置的3x3二维整型数组作为参数,函数会直接修改传入的数组。
希望能够帮到你!