编写一个程序,从 data.txt 文件读取一批无序的数字,按降序排列后再写到新文件 dataNew.txt 文件中。
提示:读取文件 data.txt 数据后存放到一个数组中,然后对数组排序后,创建新文
件 dataNew.txt,并将结果写入文件。
用C语言编写一个程序
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qfl_sdu 2021-07-09 17:29关注
data.txt 的数据格式是什么样的?一个数据一行?还是空格分割?
一个数据一行:#include <stdio.h> #include <stdlib.h> int main() { int i,j,n,t; FILE* fp; int a[100]={0};//假设不到100个数 char tmp[8]={0}; if((fp = fopen("data.txt","r")) == 0) { printf("文件打开失败\n"); return 0; } n = 0; while(!feof(fp)) { for(j=0;j<8;j++) //清空上一次读取的数据 tmp[j] = 0; fgets(tmp,8,fp); //读取一行 if(tmp[0] == '\n' || tmp[0] == '\r' || tmp[0] == '\0') continue; else a[n++] = atoi(tmp); //将数据保存在数组中 } fclose(fp); //排序 for (i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(a[j] > a[j+1]) { t = a[j]; a[j] = a[j+1]; a[j+1]=t; } } } //写入文件 fp = fopen("dataNew.txt","w"); for (i=0;i<n;i++) { fprintf(fp,"%d\n",a[i]); } fclose(fp); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题