编写函数void fun(int a[][4]),其功能是实现二维数组赋值及转置。main 函数中输入整数n,定义二维数组a[4][4]; 调用fun函数,赋值数组元素a[i][j]=n*i+j,并实现二维数组a的转置,在主函数输出转置后的二维数组。 输出格式"%3d"。
时间: 2023-11-14 17:06:05 浏览: 119
C语言程序设计-请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二
以下是实现该功能的代码:
```c
#include <stdio.h>
void fun(int a[][4]) {
int temp;
for (int i = 0; i < 4; ++i) {
for (int j = i+1; j < 4; ++j) {
temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
}
int main() {
int n;
scanf("%d", &n);
int a[4][4];
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
a[i][j] = n * i + j;
printf("%3d", a[i][j]);
}
printf("\n");
}
printf("转置后数组为:\n");
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` 的函数,该函数的参数为一个二维数组 `a`。在该函数中,我们使用两个嵌套的循环来实现数组的转置,即将 `a[i][j]` 的值与 `a[j][i]` 的值进行交换。
在主函数中,我们首先输入整数 `n`,然后定义一个 4x4 的二维数组 `a`。接着,我们使用两个嵌套的循环来对该数组进行赋值,并在赋值的同时输出每个元素的值。接下来,我们调用 `fun` 函数来实现数组的转置,并在转置后输出转置后的数组。最后,我们返回 0,表示程序正常结束。
阅读全文