用C语言编一个小程序,会的请进

题目:输入一行字符,分别统计处其中英文字母、空格、数字、其他字符的个数。注明:必须实用循环语句,其他不限。... 题目:输入一行字符,分别统计处其中英文字母、空格、数字、其他字符的个数。
注明:必须实用循环语句,其他不限。
展开
 我来答
cbjing9657
2010-10-31 · TA获得超过332个赞
知道小有建树答主
回答量:520
采纳率:0%
帮助的人:241万
展开全部
我把giveitallwegot 的代码修改了下,
scanf("%s",s);这样用不行的,scanf读取时 是遇到空格就停止读取 。

#include <stdio.h>
int main()
{
int i=0, space=0,ch=0, num=0, oth=0;//space空格,num数字,ch字符,oth其他
char s[50];
printf("请输入一串字符 ");
gets(s);
while(s[i] != '\0')//循环语句
{
if(s[i]==' ')//''有个空格
space++;
else if(s[i]<='9' && s[i]>='0')
num++;
else if(s[i]<='z' && s[i]>='a' || s[i]<='Z' && s[i]>='A')
ch++;
else
oth++;
i++;
}
printf("英文字符个数为 %d\n", ch);
printf("空格个数为 %d\n", space);
printf("数字个数为 %d\n", num);
printf("其他个数为 %d\n", oth);

}
giveitallwegot
2010-10-31
知道答主
回答量:12
采纳率:0%
帮助的人:16.7万
展开全部
#include <stdio.h>
int main()
{
int i=0, space=0,ch=0, num=0, oth=0;//space空格,num数字,ch字符,oth其他
char s[50];
printf("请输入一串字符 ");
scanf("%s",s);//就照楼下改成gets(s);吧。
while(s[i] != '\0')//循环语句
{
if(s[i]==' ')//''有个空格
space++;
else if(s[i]<='9' && s[i]>='0')
num++;
else if(s[i]<='z' && s[i]>='a' || s[i]<='Z' && s[i]>='A')
ch++;
else
oth++;
i++;
}
printf("英文字符个数为 %d\n", ch);
printf("空格个数为 %d\n", space);
printf("数字个数为 %d\n", num);
printf("其他个数为 %d\n", oth);

}
刚才凭感觉写完之后因为手上没有编译器没运行,太久没用c,有点生疏了,呵呵~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式