编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。例如:输入aA12 **,则输出字母个数:2:数字个数:2:空格个数:2;其它字符个数。
#include <stdio.h>
void func(char str[], int *a, int *b, int *c, int *d)
{
*a = *b = *c = *d = 0;
for(int i=0; str[i]!='\0'; i++) {
if((str[i]>='a'&&str[i]<'z')||(str[i]>='A'&&str[i]<'Z')) //字母
(*a)++;
else if(str[i]>='0'&&str[i]<'9') //数字
(*b)++;
else if(str[i]==' ') //空格
(*c)++;
else //其他
(*d)++;
}
}
int main()
{
char str[100];
int a,b,c,d;
gets(str);
func(str,&a,&b,&c,&d);
printf("%d,%d,%d,%d\n",a,b,c,d);
return 0;
}
#include <stdio.h>
void func(char *s,int *a,int *b,int *c,int *d)
{
int i=0;
while(s[i] != '\0')
{
if(s[i] >='a' && s[i] <='z')
(*a)++;
else if(s[i] >='A' && s[i] <='Z')
(*a)++;
else if(s[i] >='0' && s[i] <='9')
(*b)++;
else if(s[i] == ' ')
(*c)++;
else
(*d)++;
i++;
}
}
int main()
{
char s[1001];
int a=0,b=0,c=0,d=0;
gets(s);
func(s,&a,&b,&c,&d);
printf("字母个数:%d,数字个数:%d,空格个数:%d,其它字符个数:%d",a,b,c,d);
}