编写一个程序,从 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无用
悬赏问题
- ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
- ¥15 Attention is all you need 的代码运行
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
- ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
- ¥30 关于<main>标签页面跳转的问题
- ¥80 部署运行web自动化项目
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加
- ¥15 用ns3仿真出5G核心网网元