C/C++ code/*
已知正文有文件abc.txt,
1:统计该文件中词的个数,
2:并求出最长词的长度,
一个词与另外一个词之间由空格符,制表符,换行符分隔
*/
#include
#include
#include
void main()
{
FILE *fp;
char ch;
int word=0,maxlen=0,length=0,flag=0;
if((fp=fopen("f:\\file.txt","r"))==NULL)
{
printf("can not open the file!\n");
return;//这儿错了
}
ch=fgetc(fp);
while(ch!=EOF)
{
if(ch==' '||ch=='\t' || ch=='\n') //这儿错了,应该是双等号
{
if(flag==1)
{
flag=0;
if(length>maxlen)
maxlen=length;
}
}
else if(flag==0) //单词没有结束,还有字符呢,亲
{
flag=1;
length=1; //计数
word++;
}
else
length++;
ch=fgetc(fp);
}
fclose(fp);
printf("word=%d,maxlen=%d\n",word,maxlen);
}