c语言如何用自定义函数将二维数组的行列转换输出
时间: 2024-01-01 10:04:02 浏览: 79
可以定义一个函数,接收一个二维数组和其行列数作为参数,然后将行列交换后输出。具体代码如下:
```
#include <stdio.h>
void transpose(int arr[][3], int row, int col) { // 传入二维数组和行列数
int i, j;
int trans[col][row]; // 定义转置后的数组,行列互换
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
trans[j][i] = arr[i][j]; // 将原数组中的元素赋值到转置数组中对应的位置
}
}
// 输出转置后的数组
for (i = 0; i < col; i++) {
for (j = 0; j < row; j++) {
printf("%d ", trans[i][j]);
}
printf("\n");
}
}
int main() {
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
transpose(arr, 3, 3); // 调用自定义函数
return 0;
}
```
输出结果为:
```
1 4 7
2 5 8
3 6 9
```
阅读全文