当前位置: 代码迷 >> C语言 >> 做了个简单的程序,请教下谢谢
  详细解决方案

做了个简单的程序,请教下谢谢

热度:260   发布时间:2006-08-10 09:48:05.0
做了个简单的程序,请教下谢谢

//计算输入的文本包含多少字符、单词、空格、行、不完整行。
#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编辑过]

搜索更多相关的解决方案: 单词  include  false  

----------------解决方案--------------------------------------------------------
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?

----------------解决方案--------------------------------------------------------
  相关解决方案