哪位大神能帮我解惑一下呢?
#include <stdio.h>
int main()
{
char buf[100]={0};
int i = 0;
int zm = 0,nb = 0,sp = 0,ot=0;
gets(buf);
while (buf[i])
{
if((buf[i]>='A' && buf[i] <= 'Z') || (buf[i]>='a' && buf[i] <= 'z') )
zm++;
else if(buf[i]>='0' && buf[i] <= '9')
nb++;
else if(buf[i]== ' ')
sp++;
else
ot++;
i++;
}
printf("%d %d %d %d",zm,nb,sp,ot);
return 0;
}
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
else if(s[i]>='0'&&s[i]<='9')
else if(s[i]=' ') //空格
else
……
像这样判断字符串的每个字符就行了
ascll码数量很少,可以先统计出每个ascll码的数量,然后再分别相加,这样比较快。不用太多if比较。空间换时间