求高手帮我用C/C++编写一个排序程序,要求能从文本文件里读入数据进行排序,再输出到文本文件中
老师出的题目是由java输出的一串数字到一个文本文件,然后用C/C++编写的程序从该文件中读入这串数字,然后进行排序,再输出到另一个文本文件中,再由java读入并打印。。...
老师出的题目是由java输出的一串数字到一个文本文件,然后用C/C++编写的程序从该文件中读入这串数字,然后进行排序,再输出到另一个文本文件中,再由java读入并打印。。。小弟没学过C,跪求那个C编写的程序。。。拜托各位高手啊
各位大侠能不能给个详细的代码啊,像3楼那位大侠的,我想在重要语句和方法旁有些注解,因为我没学过,不是很懂诶 展开
各位大侠能不能给个详细的代码啊,像3楼那位大侠的,我想在重要语句和方法旁有些注解,因为我没学过,不是很懂诶 展开
若以下回答无法解决问题,邀请你更新回答
3个回答
2010-04-24
展开全部
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int comp(const void *a,const void *b)
{
int fg=1; /*fg=1表示升序排序,fg=-1表示降序排序*/
return fg*(*(int *)a-*(int *)b);
}
int main(void)
{
FILE *fp=fopen("c:\\dat.txt","r"); /*待排序数据文件,可在此修改*/
int n=0,in,*a=NULL;
while (fscanf(fp,"%d",&in)!=EOF)
{
a=a?realloc(a,sizeof(int)*(n+1)):malloc(sizeof(int));
a[n++]=in;
}
fclose(fp);
qsort(a,n,sizeof(int),comp);
fp=fopen("c:\\sort_dat.txt","w"); /*已排序数据文件,可在此修改*/
for (in = 0; in<n; in++) {
fprintf(fp,"%d ",a[in]);
}
fclose(fp);
return 0;
}
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int comp(const void *a,const void *b)
{
int fg=1; /*fg=1表示升序排序,fg=-1表示降序排序*/
return fg*(*(int *)a-*(int *)b);
}
int main(void)
{
FILE *fp=fopen("c:\\dat.txt","r"); /*待排序数据文件,可在此修改*/
int n=0,in,*a=NULL;
while (fscanf(fp,"%d",&in)!=EOF)
{
a=a?realloc(a,sizeof(int)*(n+1)):malloc(sizeof(int));
a[n++]=in;
}
fclose(fp);
qsort(a,n,sizeof(int),comp);
fp=fopen("c:\\sort_dat.txt","w"); /*已排序数据文件,可在此修改*/
for (in = 0; in<n; in++) {
fprintf(fp,"%d ",a[in]);
}
fclose(fp);
return 0;
}
//---------------------------------------------------------------------------
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
easy 文件输入输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
贴 文本文件内容
不然影响程序
不然影响程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询