大佬们,我这个给一个已有整数文件排序的C程序貌似不太行,能帮忙看看吗?

假如文件里是234,245,256,267,123,134,145,156这样的顺序就不行。

#include<stdio.h>
int main()
{FILE*out;
char outfile[40];
int i,j,temp;
int count,data[200];

printf("输入文件名:");
gets(outfile);

out=fopen(outfile,"r");
    count=0;
while(fscanf(out,"%d",&temp)==1)
    data[count++]=temp;
fclose(out);

for(i=0;i<count-1;i++)
    for(j=0;j<count-1-i;j++)
        if(data[j]>data[i+1]){
            temp=data[j];
            data[j]=data[j+1];
            data[j+1]=temp;}

        out=fopen(outfile,"w");
        for(i=0;i<count;i++)
            fprintf(out,"%d\n",data[i]);
        fclose(out);
}

每一次循环, 你都把 data[] 所有元素都打印出来,这就能帮你看到问题所在。 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632