使用fscanf( ) fprintf( ) 尝试从一个in.txt文件 读取10个数据,读到一个数组中,将他们按照从小到大的顺序排序后,写入到out.txt文件中。(in.txt及里面的数据提前创建好,并放在和源程序同目录下) 使用c语言
时间: 2023-06-18 10:07:34 浏览: 91
下面是实现的C语言代码:
```c
#include <stdio.h>
int main() {
int arr[10];
FILE *fin, *fout;
fin = fopen("in.txt", "r"); // 打开in.txt文件,以只读方式打开
fout = fopen("out.txt", "w"); // 打开out.txt文件,以只写方式打开
for (int i = 0; i < 10; i++) {
fscanf(fin, "%d", &arr[i]); // 从in.txt文件中读取数据到数组中
}
fclose(fin); // 关闭in.txt文件
int temp;
for (int i = 0; i < 9; i++) {
for (int j = i + 1; j < 10; j++) {
if (arr[i] > arr[j]) { // 如果前一个数大于后一个数,则交换位置
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int i = 0; i < 10; i++) {
fprintf(fout, "%d ", arr[i]); // 将排序后的数据写入out.txt文件中
}
fclose(fout); // 关闭out.txt文件
return 0;
}
```
在运行该程序之前,需要在同目录下创建一个名为in.txt的文件,并在其中输入10个整数,每个整数占一行,如下所示:
```
7
1
4
9
2
6
3
8
5
0
```
运行程序后,将在同目录下生成一个名为out.txt的文件,其中包含按照从小到大顺序排列后的10个整数,如下所示:
```
0 1 2 3 4 5 6 7 8 9
```
阅读全文