用C语言代码实现以下功能:从一个名为filein的文件中读取m*n个内容,并将这些内容转置输出到fileout文件中,输出到同一行
时间: 2024-02-09 18:08:01 浏览: 67
C语言实现从文件中读取数据
以下是用C语言实现该功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int m, n;
printf("请输入矩阵的行数m和列数n: ");
scanf("%d %d", &m, &n);
// 读取矩阵数据
int matrix[m][n];
FILE *fp_in = fopen("filein", "r");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
fscanf(fp_in, "%d", &matrix[i][j]);
}
}
fclose(fp_in);
// 转置矩阵
int transposed[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
transposed[i][j] = matrix[j][i];
}
}
// 输出转置后的矩阵
FILE *fp_out = fopen("fileout", "w");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
fprintf(fp_out, "%d ", transposed[i][j]);
}
}
fclose(fp_out);
return 0;
}
```
该程序首先从用户输入中获取矩阵的行数和列数,然后从名为filein的文件中读取m*n个内容,并将这些内容存储在一个二维数组matrix中。接着,程序创建一个新的二维数组transposed,并将matrix中的内容按行列转置存储到transposed中。最后,程序将转置后的矩阵按行输出到名为fileout的文件中。
阅读全文