需求:
在终端中输入单词(英文),可以换行,当输入“|”符号的时候,结束输入,返回单词的数量以及行数。
编辑搜图
请点击输入图片描述(最多18字)
代码:
#include<stdio.h>
#include<ctype.h>
#define END_FLAG '|' #输入结束的标志
int main(void){
int flag=0; #用于判断是否为单词的开始
char ch; #输入的字符
int total_words=0; #单词总数
int lines=0; #总行数
while((ch=getchar()) != END_FLAG){ #判断输入的字符是否为“|”结束的字符
if(!isspace(ch) && flag==0){ #单词的开始
total_words++; #单词数量+1
flag=1; #判断单词标志为1
}
if(isspace(ch) && flag){ #不是单词的时候,比如空格
flag=0; #判断单词标志为0
}
if(ch=='\n'){ #换行
lines++; #行数量+1
}
}
printf("there are %d words in above line,%d lines",
total_words,lines); #打印单词数量和行数
return 0;
}