c语言 尝试从一个in.txt文件 读取10个数据,读到一个数组中,将他们按照从小到大的顺序排序后,写入到out.txt文件中。
时间: 2023-06-25 17:05:12 浏览: 128
下面是一个简单的C语言程序,可以实现你的需求:
```c
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main()
{
int nums[N];
FILE *in_file, *out_file;
int i, j, temp;
// 打开输入文件
in_file = fopen("in.txt", "r");
if (in_file == NULL) {
printf("Error opening input file!\n");
exit(1);
}
// 读入数据到数组中
for (i = 0; i < N; i++) {
fscanf(in_file, "%d", &nums[i]);
}
// 关闭输入文件
fclose(in_file);
// 对数组进行排序(冒泡排序)
for (i = 0; i < N-1; i++) {
for (j = 0; j < N-i-1; j++) {
if (nums[j] > nums[j+1]) {
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
// 打开输出文件
out_file = fopen("out.txt", "w");
if (out_file == NULL) {
printf("Error opening output file!\n");
exit(1);
}
// 将排序后的数据写入到输出文件中
for (i = 0; i < N; i++) {
fprintf(out_file, "%d ", nums[i]);
}
// 关闭输出文件
fclose(out_file);
return 0;
}
```
这个程序使用了冒泡排序算法对读入的数据进行排序,然后将排序后的数据写入到输出文件中。你需要将输入数据放在名为 `in.txt` 的文本文件中,并且每个数应该占一行。输出数据会被写入到名为 `out.txt` 的文本文件中。
阅读全文