编写一个程序,从data.txt文件中读取一批无序的数字,按降序排列后再写到新文件dataNew.txt文件中。
1条回答 默认 最新
- qfl_sdu 2021-07-13 10:14关注
代码如下,如有帮助,请帮忙采纳一下,谢谢。
#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXNMB 10000 //假设最多可以存储10000个数字 int main() { int i,j; double a[MAXNMB],t; char tmp[10]; int nmb = 0; //实际数量 FILE* fp; if((fp=fopen("data.txt","r"))==0) { printf("data.txt打开失败\n"); return 0; } //读取数据 while(!feof(fp)) { memset(tmp,0,10); fgets(tmp,10,fp); //假设每个数字一行 if(strlen(tmp) > 0) //消除空行的影响 a[nmb++] = atof(tmp); } fclose(fp); //排序 for (i=0;i<nmb-1;i++) { for (j=0;j<nmb-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<nmb;i++) fprintf(fp,"%g\n",a[i]); fclose(fp); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 vue3+element-plus页面崩溃
- ¥15 像这种代码要怎么跑起来?
- ¥15 怎么改成循环输入删除(语言-c语言)
- ¥15 安卓C读取/dev/fastpipe屏幕像素数据
- ¥15 pyqt5tools安装失败
- ¥15 mmdetection
- ¥15 nginx代理报502的错误
- ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
- ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
- ¥100 描述一下元器件的基本功能,pcba板的基本原理