如何用c语言判断一串字符中有几个是数字几个是字母

如何用c语言判断一串字符中有几个是数字几个是字母

#include <stdio.h>
extern int system(const char *);

int main()
{
void squ(char * str,int * p1,int * p2);
int matchNum(char * s);
int matchLetter(char * s);
int a=0,b=0;
char input[50];
printf("Please input a string...\n");
gets(input);
squ(input,&a,&b);
printf("There are %d number(s) and %d letter(s) above.\n",a,b);
system("pause");
return 0;
}

void squ(char * str,int * p1,int * p2)
{
for(;;){
if(*str=='\0')break;
if(matchNum(str)){
(*p1)++;
}
if(matchLetter(str)){
(*p2)++;
}
str++;
}
}

int matchNum(char * s)
{
if(*s>=48 && *s<=57){
return 1;
}
else{
return 0;
}
}

int matchLetter(char * s)
{
if((*s>='a' && *s<='z')||(*s>='A' && *s<='Z')){
return 1;
}
else{
return 0;
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-04
用ascii码进行判断即可
相似回答