//计算输入的文本包含多少字符、单词、空格、行、不完整行。
#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编辑过]
----------------解决方案--------------------------------------------------------
HOO HOO
----------------解决方案--------------------------------------------------------
中间的程序就不劳虾们费脑了,运行无误,关键是第一个while循环,因为输入缓冲区的关系除非在输入TEXT的时候提前输入y,如: hello world! |y[enter],那个y才会赋给yynn,不然yynn='\n',想了个简单的办法,在程序倒数第四行yynn=getchar();前加了句getchar();这样\n会在getchar()消失;然后就可以给yynn赋值了(上面说的对不对?请指正).
因为我刚学,经验少,后面的好多语法还没学到,所以请问虾们有没有更好的解决办法?
另外问一下只有一个getchar();语句,输入的字符会跑到哪里去?
谢谢.
----------------解决方案--------------------------------------------------------
斑竹占楼还真快
不过您这是啥意思.
郁闷,把头像改了
[此贴子已经被作者于2006-8-10 10:05:52编辑过]
----------------解决方案--------------------------------------------------------
:济南钢铁厂????
====
xiong di , ni gong zuo le?
----------------解决方案--------------------------------------------------------
记住,有时要用到fflush(stdin);
----------------解决方案--------------------------------------------------------
bool yn=false; //用于识别单词
=============
ni yong sha bian yi qi a?
----------------解决方案--------------------------------------------------------
个人观点:
printf("\ndo you want to continue?(y/n)_\b");
这一句应该换一个wait语句
具体怎么改我也不记得了要翻书
----------------解决方案--------------------------------------------------------
上楼:还没学到 : )
上上楼:工作了,有什么问题吗
----------------解决方案--------------------------------------------------------
wai mian de shi jie hao hun m?
----------------解决方案--------------------------------------------------------