输入一行字符,分别统计其中英文字母,空格,数字和其他字符的个数

wcj2007happy 2012-10-15 10:22:33
输入一行字符,分别统计其中英文字母,空格,数字和其他字符的个数。


写书本上的作业出现个小问题,又卡住了...自己写了一段代码,可以统计字母和空格的个数,


但是输入数字和其他字符都会统计在空格里...不知道怎么搞的..求解答..不胜感谢..

#include<stdio.h>
void main()
{char c;
int n=0,m=0,i=0,j=0;
while((c=getchar())!='\n')
{if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) n+=1;
else if(c=' ') m+=1;
else if(c>='0'&&c<='9') i+=1;
else j+=1;
}
printf("字母:%d 空格:%d 数字%d 其他字符:%d\n",n,m,i,j);
}
...全文
7565 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
树坑21 2013-05-15
  • 打赏
  • 举报
回复
写得挺好。。
javamy005 2012-12-02
  • 打赏
  • 举报
回复
好帖子啊,学习啦!!
漫步者、 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
错把==写成=了,改为else if(c==' ') m+=1;就好
[/Quote]

正解
wcj2007happy 2012-10-15
  • 打赏
  • 举报
回复
等了半天没人回,自己又写了道题目,回过来看,发现自己的'='居然错了...郁闷..这样不就是空格全部赋值到里面去了么= =||...还有也谢谢各位了,结贴给分~~~
十八道胡同 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:

错把==写成=了,改为else if(c==' ') m+=1;就好
++新手怕写错可以写成这样 if(' '=c) 提示报错
[/Quote]

包括这样的if(NULL == ptr) 很多C++编程规范值这么要求的。。
newtee 2012-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

错把==写成=了,改为else if(c==' ') m+=1;就好
[/Quote]++新手怕写错可以写成这样 if(' '=c) 提示报错
图灵狗 2012-10-15
  • 打赏
  • 举报
回复
错把==写成=了,改为else if(c==' ') m+=1;就好

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧