本程式實現了統計文字檔案中,文字單詞數、字元數以及行數。
程式碼如下:
#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。