编写程序,读取文件,降序排列

C语言 ,代码不要太复杂🙏🙏🙏
编写一个程序,从 data.txt 文件读取一批无序的数字,按降序排列后再写到
新文件 dataNew.txt 文件中

回答过这个问题,代码如下:

#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;
}