用c语言编译:有一个4*4的整型矩阵,矩阵元素的值等于其行号乘以2与列号(行和列均从0开始)乘以3之和。写一函数,将此整型矩阵转置。按照行列顺序输出转置前后的矩阵。
时间: 2025-01-01 22:42:41 浏览: 27
在C语言中,你可以创建一个函数来实现这个任务。首先,你需要定义一个二维数组来存储原始的4x4矩阵,并创建另一个数组来保存转置后的矩阵。然后编写一个函数`transpose_matrix`来进行矩阵的转置,接着分别打印原始矩阵和转置后的矩阵。以下是示例代码:
```c
#include <stdio.h>
#define ROWS 4
#define COLS 4
// 定义原矩阵和转置矩阵
int original[ROWS][COLS] = {0};
int transposed[ROWS][COLS];
// 转置矩阵的函数
void transpose_matrix(int matrix[ROWS][COLS]) {
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
transposed[j][i] = matrix[i][j] * 2 + j * 3;
}
}
}
// 打印矩阵
void print_matrix(int matrix[ROWS][COLS], char name[]) {
printf("%s:\n", name);
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
printf("\n");
}
int main() {
// 初始化原始矩阵,元素值按照题目要求计算
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
original[i][j] = i * 2 + j * 3;
}
}
// 打印原始矩阵
print_matrix(original, "Original Matrix");
// 转置矩阵并打印
transpose_matrix(transposed);
print_matrix(transposed, "Transposed Matrix");
return 0;
}
```
当你运行这个程序,它会先显示原始矩阵,然后显示转置后的矩阵。
阅读全文