文本文件操作_单词的排序 问题 大神看看哪里错了
/* #1107 文本文件操作_单词的排序在当前目录有文件“case1.in”,文件里存放有多个(总个数不超过10000个)英文单词(每个英文单词不会超过10个字文字符),每行一个,单词未排序。现要求,将文件中的所有单词按字典顺序排序,然后将排序好的单词写入新建的文件answer.txt中(注:文件存放于当前目录)。请完成程序,实现该功能,(注意,填空题,请不要使用return 0结束,否则会影响评判而判错)
(如case1.in文件中原内容如下)
hello
bye
yes
(程序执行后,在文件answer.txt中内容如下)
bye
hello
yes
*/
#include "stdio.h"
#include "string.h"
main()
{
FILE *fp=NULL,*fp1=NULL;
char w[10000][11]={'\0'},t[11]={'\0'};
fp=fopen("case1.in","r");
fp1=fopen("answer.txt","w");
int i,j,n=0;
for(i=0,j=0; (w[i][j]=fgetc(fp))!=EOF; j++)
{
if(w[i][j]=='\n')
{
i++;
n++;
j=0;
continue;
}
}
n++;
for(i=0,j=1; i<n-1,j<n; i++,j++)
{
if(strcmp(w[i],w[j])>0)
{
strcpy(t,w[i]);
strcpy(w[i],w[j]);
strcpy(w[j],t);
}
}
i=0;
j=0;
while(fputc(=w[i][j],fp1)!=EOF)
{
if(w[i][j]=='\n')
{
i++;
j=0;
continue;
}
j++;
}
fclose(fp);
fclose(fp1);
}
[此贴子已经被作者于2016-11-30 10:51编辑过]