//计算输入的文本包含多少字符、单词、空格、行、不完整行。
#include<stdio.h>
#include<ctype.h>
int main(void)
{
long n_text=0; //字符数
int n_char=0; //单词数
char n_ch; //前一个字符,用于查看最后一句是否使用了换行字符
int n_enter=0; //行数
int n_no=0; //不完整行数
char ch; //要输入的字符
bool yn=false; //用于识别单词
char yynn='y';
while(yynn=='y')
{
printf("Plese enter text(\"|\"to quit):\n");
while((ch=getchar())!='|')
{
n_text++;
if(!isspace(ch)&&!yn)
{
yn=true;
n_char++;
}
if(isspace(ch)&&yn)
{
yn=false;
}
if(ch=='\n')
n_enter++;
n_ch=ch;
}
if(n_ch=='\n')
n_enter++;
printf("this text have %d chars,and %d words,and %d lines.\n",n_text,n_char,n_enter);
if(n_ch!='\n')
printf("this text have a partial lines.");
printf("\ndo you want to continue?(y/n)_\b");
yynn=getchar();
}
return 0;
}
见下下楼
[此贴子已经被作者于2006-8-10 10:48:59编辑过]