c语音写一个函数,打印3*3的二维数组转置
时间: 2023-03-31 19:01:38 浏览: 73
可以的,以下是代码:
void transpose(int arr[3][3]) {
int i, j;
for (i = ; i < 3; i++) {
for (j = i+1; j < 3; j++) {
int temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
for (i = ; i < 3; i++) {
for (j = ; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
相关问题
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
```
希望这个代码能够满足你的需求!如果有任何问题,请随时提问。
写一个函数,使给定的一个3*3的二维整型数组转置
以下是一个实现给定3*3二维整型数组转置的函数的示例代码:
```python
def transpose(matrix):
"""
将给定的3*3二维整型数组转置
"""
for i in range(3):
for j in range(i+1, 3):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
return matrix
```
该函数接受一个3*3的二维整型数组作为参数,使用两层循环遍历数组中的元素,将每个元素与其对应的转置元素交换位置,最后返回转置后的数组。
例如,对于以下输入:
```python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
```
调用函数 `transpose(matrix)` 后,将返回:
```python
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
```
即原数组的转置。