我目前正在使用字数统计程序。我有一个棘手的练习。
我不明白这个练习到底要我做什么。
这里的练习本身
修改字数统计程序以使用更好的“单词”定义,例如以字母开头的字母、数字和撇号的序列
我无法得到它真正想要的东西。它希望我计算符号、数字、撇号或以太,它希望我为所有这些符号、数字等命名,比如“单词”,-将是A(") word comma(,) A(")
或有其他东西。
这是计算行数、字符数和换行数的程序
#include <stdio.h>
#define YES 1
#define NO 0
main ()
{
// CTRL+Z will Signal to EOF-End of File
int c,nl,nw,nc,inword; //nl -new line
//nw -new word
//nc -new chatacter
//inword -program in word or not
inword=NO;
nl=nw=nc=0;
while ((c=getchar()) !=EOF)
{
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\t' || c == '\n')
inword=NO;
else if (inword==NO)
{
inword=YES;
++nw;
}
}
printf("%d %d %d\n", nl,nw,nc);
getchar();
}
Run Code Online (Sandbox Code Playgroud)
你们能向我解释一下练习到底要我做什么吗?我不需要已经完整的代码。我想自己完成编码。我只是不明白我在锻炼中实际需要做什么。
您发布的程序将由空格分隔的所有内容视为一个单词。所以这些都是词:12
a,b123456
2-3@!#
。
它要求您通过更好的单词定义来改进程序,并给出了一个示例:“以字母开头的字母、数字和撇号的序列”。
因此,在这个例子中John's
, anda123
是一个单词,但是12
, 1a
and a-b
are 不是。