统计输入中的行数,单词数,字符数
2011-04-14 10:30
411 查看
源于《The C Programming Language》P14的一道例题:
统计输入中的行数,单词数,字符数(单词的定义:其中不包括空格,制表符,换行符的字符序列)
#include <stdio.h>
#define IN 1
#define OUT 0
int main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while((c = getchar()) != EOF)
++nc;
if(c == '/n')
++nl;
if(c == ' ' || c == '/t' || c == '/n')
state = OUT;
else if(state == OUT)
{
state = IN;
++nw;
}
return 0;
}
1, 对于第二个if语句,当出现这些字符时,认定一个单词已经结束,故将state赋值为OUT,这一点在设计的时候不太容易想到。
2, 用两个分开的if语句的清晰度高于一个if-else语句(谨针对本例),因为第二个if语句是个if-else语句,如果在第二个ifz之前加上else
会增加阅读的难度。
统计输入中的行数,单词数,字符数(单词的定义:其中不包括空格,制表符,换行符的字符序列)
#include <stdio.h>
#define IN 1
#define OUT 0
int main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while((c = getchar()) != EOF)
++nc;
if(c == '/n')
++nl;
if(c == ' ' || c == '/t' || c == '/n')
state = OUT;
else if(state == OUT)
{
state = IN;
++nw;
}
return 0;
}
1, 对于第二个if语句,当出现这些字符时,认定一个单词已经结束,故将state赋值为OUT,这一点在设计的时候不太容易想到。
2, 用两个分开的if语句的清晰度高于一个if-else语句(谨针对本例),因为第二个if语句是个if-else语句,如果在第二个ifz之前加上else
会增加阅读的难度。
相关文章推荐
- 统计输入的行数,单词数与字符数(C语言)
- 2.统计输入的行数,单词数和字符数
- 统计输入的行数,单词数和字符数
- C语言统计输入行数、单词数、字符数
- [原创]c++,自己写的一个统计输入的单词个数,行数和字符总数的小程序
- 统计输入中的行数,单词数,字符数
- C语言统计输入行数、单词数、字符数
- 统计输入的行数、单词数与字符数用C实现
- c语言中统计输入的行数、单词数与字符数
- 从终端输入中统计字符数、单词数、行数,并输出单词
- 输入一行字符,统计单词个数?(单词:单个字母以上字母的集合)
- C语言实现对输入中的行数,单词个数,字符的个数进行计数
- 编译器DIY之———统计英文文本中的单词数,字符数和行数
- 输入一行字符,统计其中有多少个单词,单词之间用空格隔开
- 输入一行字符,统计其中有多少个单词
- 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
- 输入一段字符,统计其中有多少单词,单词间用空格分开。
- (第二周实验报告3‐1)输入一行字符,统计其中有多少个单词
- 统计文件中的单词数、字符数和行数的程序
- 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开