[c++]输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。(写的代码有疑惑,求解求教)

Racine2017 2012-10-19 02:56:53
大家好,我已经写在我的微博,请点我的名字看?这样发着麻烦。。真心求解求教
...全文
11316 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Racine2017 2012-10-25
  • 打赏
  • 举报
回复
错的地方我看出来了,好吧,结
图灵狗 2012-10-19
  • 打赏
  • 举报
回复
在你的代码上修改而已,直接看到的是gets函数不安全,现在一般用fgets来替换它。
Racine2017 2012-10-19
  • 打赏
  • 举报
回复
提交说错了百分之50
[Quote=引用 5 楼 的回复:]

主要是结束条件用错了,修正如下:
C/C++ code

#include<stdio.h>
int main()
{
char x[999];
char*p=x;
int i,a=0,b=0,c=0,d=0;
gets(x);
while(*p)
{
if('A'<=*p&&*p<='z')
a++;
else if('0'<=*p&&*p<='9')
b+……
[/Quote]
Racine2017 2012-10-19
  • 打赏
  • 举报
回复
*p的*啥意思?我没学过这个,我学的不多,用简单的做不行吗?使用*p属于啥内容啊,我翻书看看能懂不,新手啰嗦了些
图灵狗 2012-10-19
  • 打赏
  • 举报
回复
p是指向,用它指向数组x,这样可以方便的用p++移动指针进行数组遍历,原因是x中实际上是以'\0'结尾的字符串,999的意思是开辟足够的空间,用以容纳你所输入的字符数目。

[Quote=引用 6 楼 的回复:]

谢了。。。来点注释行不啊,学校循环都没教呢,不过我马虎看到了,char*p=x;中的*是啥意思啊?还有
char x[999];的【999】呢,虽然我也写999,不过我不是很理解【】,尤其是上面的*没学到。
[/Quote]
Racine2017 2012-10-19
  • 打赏
  • 举报
回复
谢了。。。来点注释行不啊,学校循环都没教呢,不过我马虎看到了,char*p=x;中的*是啥意思啊?还有
char x[999];的【999】呢,虽然我也写999,不过我不是很理解【】,尤其是上面的*没学到。
图灵狗 2012-10-19
  • 打赏
  • 举报
回复
主要是结束条件用错了,修正如下:

#include<stdio.h>
int main()
{
char x[999];
char*p=x;
int i,a=0,b=0,c=0,d=0;
gets(x);
while(*p)
{
if('A'<=*p&&*p<='z')
a++;
else if('0'<=*p&&*p<='9')
b++;
else if(*p==' ')
c++;
else
d++;
p++;
}
printf("%d %d %d %d\n",a,b,c,d);
return 0;
}
Racine2017 2012-10-19
  • 打赏
  • 举报
回复
题目描述
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

输入
一行字符

输出
统计值

样例输入
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123

样例输出
23 16 2 4
Racine2017 2012-10-19
  • 打赏
  • 举报
回复
#include<cstdio>
int main()
{
char x[999];
int i,a=0,b=0,c=0,d=0;
gets(x);
for(i=0;i<=x[i];i++)
{
if('A'<=x[i]&&x[i]<='z')
a++;
else if('0'<=x[i]&&x[i]<='9')
b++;
else if(x[i]==' ')
c++;
else
d++;
}
printf("%d %d %d %d\n",a,b,c,d);
return 0;
}
Racine2017 2012-10-19
  • 打赏
  • 举报
回复
额,只是点一下头像就好了啊。。。不是代码贴麻烦,而是我博客写的详细,有图片啥的。。对不起各位啊。真心。
羽飞 2012-10-19
  • 打赏
  • 举报
回复
代码贴出来很费力气吗?还要去看你的微博

64,647

社区成员

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

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