用C语言作纯英文字数统计

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:33:13
在英文字数统计中一串连续的非空格字符(包含标点)计为一个字。段落是以回车或文件结束符结尾为标志的,但是连续回车之间空段落不计入段落数。
输入是0行或多行英文文本。
输出2行。第一行表示字数,第二行表示段落数
输入示例:
I am a college student;
I am studing C programming now!
输出示例:
11
2
算一行的话我倒是很清楚,主要是不知道怎样一次性输入多行并最终结束输入

#include <stdio.h>

void printw(char str[])
{
int i=0,wfg=1,lfg=1;
int wcnt=0,lcnt=0;

while(str[i])
{
if(str[i]!=' '&&str[i]!='\n')
{
if(wfg) wcnt++;
wfg=0;
}
else wfg=1;

if(str[i++]!='\n')
{
if(lfg) lcnt++;
lfg=0;
}
else lfg=1;
}

printf("w %d l %d",wcnt,lcnt);
}

int main(void)
{
char str[100];
int i=0;

while((str[i++]=getchar())!=EOF);
str[i-1]=0;
printw(str);

return 0;
}

输入示例
iii yyy yyy ii yyyy
uuuu yyy tt tt tt
iii u uu yyy
^Z

^Z 是 Ctrl+Z

不大会C语言了,现在只会C++,这个用C++的话,我倒是会,文件结束符是Ctrl+z以这个结束输入就行

#include<stdio.h>
#include<string.h>
int main()
{
char a;
int sign1=0,sign2=0,sign3=1,sign4=0,countle