关于C语言如何判断字符,请高手解答

来源:百度知道 编辑:UC知道 时间:2024/05/23 00:26:31
我想写一个C程序,用于判断输入的字符串中有多少大写字母、小写字母和有多少个空格,请大虾写出详细的程序代码,我试验过,它能判断,有多少大写或者小写字母但是不能判断出空格的数量,并且对于空格后面的字符一概忽略,同时请解答一下这个问题怎么解决,高分追加,谢谢!

不要用scanf输入,用gets,输入字符串的时候,scanf会把空格当成字符串之间的分隔符,如果你输入how are you,那么系统把空格当成分隔符,会先把how送入字符串中,把how当成一个字符串处理,所以自动在how后面加'\0',how后面的字符全读不进来.用gets就可以解决这个问题.

#include "stdio.h"
#include"string.h"
main()
{char ch[100];
int i,n,upp=0,low=0,dig=0,spa=0,oth=0;
printf("input character;\n");
gets(ch);
printf("%s\n",ch);
n=strlen(ch);
for(i=0;i<n;i++)
{if(ch[i]>='a'&&ch[i]<='z')low++;
else if(ch[i]>='A'&&ch[i]<='Z')upp++;
else if(ch[i]>'0'&&ch[i]<='9')dig++;
else if(ch[i]==' ')spa++;
else oth++;
}
printf("\nupper case:%d\n",upp);
printf("lower case :%d\n",low);
printf("digit :%d\n",dig);
printf("space :%d\n",spa);
printf("other :%d\n",oth);
}