第三次作业(3)

编写教科书2.4.2 wordcount程序,请按要求编写,注意代码规范,并将程序上传至codeing系统。

#include <stdio.h>
#include <string.h>
int *GetNum(char *charname, int *num);
int main(){
int num[3] = {0, 0, 0};
char charname[40];
printf("请输入文件名:");
scanf("%s", charname);
if(GetNum(charname, num)){
printf("总计: %d 行,%d 单词,%d 字节\n", num[0],num[1],num[2] );
}else{
printf("Error!\n");
}
return 0;
}
int *GetNum(char *charname, int *num){
FILE *fp;
char HuanChong[1024];
int HuanChongLen;
int i;
char c;
int Lastblank = 0;
int HangShu = 0;
int ZiShu = 0;
if( (fp=fopen(charname, "rb")) == NULL ){
perror(charname);
return NULL;
}
while(fgets(HuanChong, 1024, fp) != NULL){
HuanChongLen = strlen(HuanChong);
for(i=0; i<HuanChongLen; i++){
c = HuanChong[i];
if( c==' ' || c=='\t'){
!Lastblank && ZiShu++;
Lastblank = 1;
}else if(c!='\n'&&c!='\r'){
HangShu++;
Lastblank = 0;
}
}
!Lastblank && ZiShu++;
Lastblank = 1;
num[0]++;
num[2] += HangShu;
num[1] += ZiShu;
HangShu = 0;
ZiShu = 0;
}
return num;
}

 文本如下

运行结果

结果正确。

posted @ 2016-03-18 16:01  邓caroline  阅读(150)  评论(2编辑  收藏  举报