**
*对输入的行、单词和字符进行计数。我们将单词的定义进行化简,认为单词是不包含空格、制表符\t及换行符的字符序列
**。例如:“a+b+c”,认为是1个单词,它由5个字符组成。又如:“xy abc”,为2个单词,6个字符。输入ctrl+z结束(提示:用ch!=EOF或ch!=-1作为循环条件)。
**输出格式要求:“Lines=%d\nWords=%d\nChars=%d\n”
程序运行示例如下:
hi~
Good moring!
I’m Julie.
Lines=3
Words=5
Chars=28
#include <stdio.h>
int main ( )
{
char ch = '\0';
//循环接受字符
int l = 0,w = 0,c = 0;
while (scanf("%c",&ch) != EOF)
{
c++;
if (ch==' '||ch=='\n') {
w++;
}
if (ch=='\n') {
l++;
}
}
printf("Lines=%d\nWords=%d\nChars=%d\n",l,w,c);
return 0;
}
注意:
1 · 接收换行的不能用ch13或者‘
’只能用ch’\n’
2 · ***EOF与-1***是一个意思用一个就够了,表示文件结束,另外在编译器里面不会有输出,但是作业系统里可以(我也不知道为啥目前)