本关任务:已知有3×3矩阵,要求编写函数实现该矩阵的输入、输出和转置,并在主函数中调用以上函数。 将数组名作为函数实参。函数调用后在主函数中输出已转置的矩阵。使用c语言input语法
时间: 2024-12-22 11:31:37 浏览: 4
在C语言中,为了实现这个任务,你可以创建三个函数:`input_matrix`用于从用户那里获取输入并初始化矩阵,`transpose_matrix`负责转置矩阵,以及`print_matrix`用于显示矩阵。以下是完整的代码示例:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
// 定义矩阵结构体
typedef struct {
int data[ROWS][COLS];
} Matrix;
// 输入矩阵函数
void input_matrix(Matrix *matrix) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("Enter element (%d,%d): ", i+1, j+1);
scanf("%d", &matrix->data[i][j]);
}
printf("\n");
}
}
// 矩阵转置函数
Matrix transpose(Matrix src) {
Matrix transposed;
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
transposed.data[j][i] = src.data[i][j];
}
}
return transposed;
}
// 输出矩阵函数
void print_matrix(const Matrix *matrix) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", matrix->data[i][j]);
}
printf("\n");
}
}
int main() {
Matrix original;
input_matrix(&original); // 输入原始矩阵
Matrix transposed = transpose(original); // 转置矩阵
print_matrix(&transposed); // 输出转置后的矩阵
return 0;
}
```
在这个程序中,首先定义了一个名为`Matrix`的结构体,包含一个二维整数数组。然后,分别实现了输入矩阵、转置矩阵和打印矩阵的功能。在`main()`函数中,我们实例化了矩阵并调用了相应的函数。
阅读全文