您的位置:首页 > 其它

第三周作业(三):wc程序

2016-03-23 14:52 423 查看
本程序实现了统计文本档案中,文本单词数、字符数以及行数。

代码如下:

#include<stdio.h>
#include<stdlib.h>

int linestatistics(FILE *b)
{
int m=1;
char ch;
b=fopen("abc.txt","r");
if (b==NULL)
{
printf("找不到这个文件!");
exit(-1);
}

for(;(ch=fgetc(b))!=EOF;)
{
if(ch=='\n')
m++;
}
return(m);

}

int wordstatistics(FILE *a)
{
int m=0;
int flag1=0,flag2=0;
char ch;
a=fopen("abc.txt","r");
if (a==NULL)
{
printf("找不到这个文件!");
exit(-1);
}

for(;(ch=fgetc(a))!=EOF;)
{
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9')||ch=='_')
flag1=1;
else
flag2=flag1+flag2;
if((flag1+flag2)==2)
{
m++;
flag1=0;
flag2=0;
}

}
fclose(a);
return(m);
}

int main()
{
int i,k,j;
i=0;
k=0;
j=0;
char ch;

FILE *fp;
fp=fopen("abc.txt","r");
if (fp==NULL)
{
printf("找不到这个文件!");
exit(-1);
}

for(;ch=fgetc(fp)!=EOF;)
{
k++;
}

fclose(fp);

i=linestatistics(fp);

j=wordstatistics(fp);

printf("文本中共有行数%d,字符数%d,单词数目%d\n",i,k,j);

return(0);
}


本程序在目录下建立一个供给统计的abc.txt,所统计的数据全来自于abc.txt,若是把源代码放入txt中,



即可得



程序已上交至coding。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: