用c语言编程:输入一个字符串,统计其中英文字母,数字符号及其他字符的个数

用一下程序统计其他字符总是有错,请高手看看错在哪里?
#include <stdio.h>
#define N 100
main()
{
char all[N];
int i,zimu=0,shuzi=0,qita=0;
printf("请输入一个字符串(不超过100个):");
gets(all);
for(i=0;i<N;i++)
{
if(all[i]>'a'&&all[i]<'z'||all[i]>'A'&&all[i]<'Z')
zimu++;
else if(all[i]>'0'&&all[i]<'9')
shuzi++;
else
qita++;
}
printf("其中字母%d个,数字%d个,其他字符%d个\n",zimu,shuzi,qita);
}

第1个回答  2010-05-25
这句 if(all[i]>'a'&&all[i]<'z'||all[i]>'A'&&all[i]<'Z') 改为
if((all[i]>'a' && all[i]<'z')|| (all[i]>'A' && all[i]<'Z'))

这句 for(i=0;i<N;i++)
改为 for(i=0;all[i];i++)
相似回答