编写函数void fun(int a[][4]),其功能是实现二维数组赋值及转置。main 函数中输入整数n,定义二维数组a[4][4]; 调用fun函数,赋值数组元素a[i][j]=n*i+j,并实现二维数组a的转置,在主函数输出转置后的二维数组。 输出格式"%3d"。
时间: 2023-11-14 08:06:05 浏览: 53
以下是实现该题目的完整代码:
```c
#include <stdio.h>
void fun(int a[][4]) {
// 赋值
int n = 1;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
a[i][j] = n * i + j;
n++;
}
}
// 转置
for (int i = 0; i < 4; i++) {
for (int j = i + 1; j < 4; j++) {
int temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
}
int main() {
int a[4][4];
fun(a);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%3d", a[i][j]);
}
printf("\n");
}
return 0;
}
```
在 `fun` 函数中,我们首先进行了数组元素的赋值。然后使用两层循环遍历数组,将第 `i` 行和第 `j` 列的元素交换,实现了数组的转置。在 `main` 函数中,我们定义并初始化了二维数组 `a`,调用 `fun` 函数进行赋值和转置操作,最后输出转置后的数组。