C语言,输入一个字符串求其中的大写字母个数,小写字母个数、空格个数、数字个数和其它字符的个数

下面是我写的程序:#include"stdio.h"voidfun1(charmm[]);main(){charnn[100];scanf("%s",nn);fun1(n... 下面是我写的程序:
#include "stdio.h"
void fun1(char mm[]);
main()
{
char nn[100];
scanf("%s",nn);
fun1(nn);
}
void fun1(char mm[])
{
int i,j=0,k=0,p=0,q=0,t=0;
for(i=0;mm[i]!='\0';i++)
{
if(mm[i]>='a'&&mm[i]<='z')
j++;
else if(mm[i]>='A'&&mm[i]<='Z')
k++;
else if(mm[i]==' ')
q++;
else if(mm[i]>='0'&&mm[i]<='9')
p++;
else
t++;
}
printf("大写字母个数为:%d,小写字母个数为:%d,空格个数为:%d,数字个数为:%d,其他字符个数为%d",k,j,q,p,t);
}
运行没错误但结果不对啊如图:
为什么啊,请高手帮忙
展开
 我来答
Gerald_Bond
2011-04-26 · TA获得超过1003个赞
知道小有建树答主
回答量:590
采纳率:0%
帮助的人:608万
展开全部
因为scanf读入的时候遇到空格就会停,所以你的nn实际只读入了“abcd”。

scanf("%s",nn);
改成
gets(nn);
就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式