编写函数void fun(int a[][4]),其功能是实现二维数组赋值及转置。main 函数中输入整数n,定义二维数组a[4][4]; 调用fun函数,赋值数组元素a[i][j]=n*i+j,并实现二维数组a的转置,在主函数输出转置后的二维数组。 输出格式"%3d"。
时间: 2023-12-26 16:03:30 浏览: 68
C语言数组二
以下是实现要求的代码:
```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;
int a[4][4];
// 赋值数组元素
printf("请输入一个整数n:");
scanf("%d", &n);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
a[i][j] = n * i + j;
}
}
// 输出原始数组
printf("原始数组:\n");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%3d", a[i][j]);
}
printf("\n");
}
// 转置数组
fun(a);
// 输出转置后的数组
printf("转置后的数组:\n");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%3d", a[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果如下:
```
请输入一个整数n:2
原始数组:
0 2 4 6
1 3 5 7
2 4 6 8
3 5 7 9
转置后的数组:
0 1 2 3
2 3 4 5
4 5 6 7
6 7 8 9
```
阅读全文