第三次作业(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 字节 ", num[0],num[1],num[2] );
}else{
printf("Error! ");
}
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==' '){
!Lastblank && ZiShu++;
Lastblank = 1;
}else if(c!=' '&&c!=' '){
HangShu++;
Lastblank = 0;
}
}
!Lastblank && ZiShu++;
Lastblank = 1;
num[0]++;
num[2] += HangShu;
num[1] += ZiShu;
HangShu = 0;
ZiShu = 0;
}
return num;
}

 文本如下

运行结果

结果正确。

原文地址:https://www.cnblogs.com/dengxiuyue/p/5292479.html