标题:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
只看楼主
夜十天
Rank: 1
等 级:新手上路
帖 子:32
专家分:7
注 册:2013-5-8
结帖率:62.5%
 问题点数:0 回复次数:6 
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
#include "stdio.h"
main()
{char c;
 int letters=0,space=0,digit=0,others=0; /*这四个变量用于保存统计出来的个数*/
 printf("please input some characters\n");
 while((c=getchar())!='\n')             /*判定字符是否等于0*/
 {
 if(c>='a'&&c<='z'||c>='A'&&c<='Z')     /*开始统计个数,计算英文字母,再空格、数字和其它字符的个数*/
  letters++;
 else if(c==' ')
  space++;
   else if(c>='0'&&c<='9')
       digit++;
     else
       others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
space,digit,others);
}
这是代码,但我看不懂while((c=getchar())!='\n') 这句话,getchar()这语句不是只可以接受一个字符么。为什么当我输入HELLO给它时,程序可以运行。请大神教教。
搜索更多相关主题的帖子: 英文字母 include letters please others 
2013-09-20 11:39
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 

好经典的题目   可惜0分贴

DO IT YOURSELF !
2013-09-20 11:42
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
得分:0 
就是嵌套的判断
2013-09-20 12:29
乐C
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-9-25
得分:0 
是不是说只要不是键入回车?偶是新手,弱弱的思考下
2013-09-27 11:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
先寫個小的專用程序全面測試過將要使用的函數的特性,再動手寫程序。程序中要用到什麽,都這樣測試過,慢慢就知道怎麽寫程序。一步登天,寫出一大堆代碼之後到處問人出了什麽問題,或者囫囵吞枣照抄照搬別人的代碼又不追根究底,以為得到結果就算是學會了,這樣學習是沒用的。

授人以渔,不授人以鱼。
2013-09-27 11:18
chtian
Rank: 2
等 级:论坛游民
帖 子:31
专家分:58
注 册:2012-8-28
得分:0 
从键盘输入一个字符,赋值到c中,如果不是换行就执行下面的代码
2013-09-27 15:20
zsjcyzz
Rank: 2
等 级:论坛游民
帖 子:12
专家分:18
注 册:2013-9-27
得分:0 
HELLO'\n'

循环了6次

也就是说while里面内容循环了6次 结了吧
2013-09-27 15:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-420804-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.098317 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved