假如文件里是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