【发布时间】:2014-11-02 18:25:30
【问题描述】:
#include <stdlib.h>
#include <stdio.h>
int main()
{
unsigned long c;
unsigned long line;
unsigned long word;
char ch;
char lastch = -1;
c = 0;
line = 0;
word = 0;
while((ch = getchar()) != EOF)
{
c ++;
if (ch == '\n')
{
line ++;
}
if (ch == ' ' || ch == '\n')
{
if (!(lastch == ' ' && ch == ' '))
{
word ++;
}
}
lastch = ch;
}
printf( "%lu %lu %lu\n", c, word, line );
return 0;
}
所以这个程序计算标准输入中的字符数、行数或单词数。但其中一个要求是,由任何符号(例如,!、-、+ 等)分隔的单词必须被视为 2 个单词。我将如何修改我的代码来做到这一点?
【问题讨论】:
-
目前,您有空格和换行符作为分隔符。想想你如何将它扩展到其他角色。
标签: c character counting words