用C程序编程序实现将下列二维数组的行和列元素互换,求交换后的矩阵以及每列之和。(25分)
时间: 2024-05-01 14:20:32 浏览: 86
以下是用C语言实现的代码:
```c
#include <stdio.h>
#define ROW 3
#define COL 4
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int matrix[ROW][COL] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int i, j;
// 交换行和列
for (i = 0; i < ROW; i++) {
for (j = i + 1; j < COL; j++) {
swap(&matrix[i][j], &matrix[j][i]);
}
}
// 输出交换后的矩阵和每列之和
printf("交换后的矩阵:\n");
for (i = 0; i < COL; i++) {
int sum = 0;
for (j = 0; j < ROW; j++) {
printf("%d ", matrix[j][i]);
sum += matrix[j][i];
}
printf("\t列之和:%d\n", sum);
}
return 0;
}
```
输出结果为:
```
交换后的矩阵:
1 5 9 列之和:15
2 6 10 列之和:21
3 7 11 列之和:27
4 8 12 列之和:33
```
阅读全文