编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数

编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数

问题描述:

编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个 数,在主函数中输入字符串以及输出上述的结果。请填空完成上述功能的程序。

#include
#include
void fltj(char str[],int a[])

{
int ll,i;

       ll=  (1)
                for (i=0;i<ll;i++) 

         { if (  (2)   ) a[0]++; 
           else if (  (3)   ) a[1]++; 
           else if (  (4)   ) a[2]++;
                        else a[3]++;
                        } } 
                        main()         
                        { static char str[60];
                        static int a[4]={0,0,0,0}; 
                        gets(str);
                        fltj(str,a);
                        printf("%s char:%d digit:%d space:%d other:%d",  str,a[0],a[1],a[2],a[3]);  
                        }

 if ((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z'))

if (str[i] >= '0' && str[i] <= '9')

if (str[i] == ' ')

除了数字、字母和空格,还有其它字符串,最完善的方法是先处理数字、字母和空格,如:

if ((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z'))
{
}
else if (str[i] >= '0' && str[i] <= '9')
{
}
else if (str[i] == ' ')
{
}
else
{
}

然后将其它字符定义到一个结构体数组中,结构体有两个成员:其它字符,和计数Count变量,在最后的 else 分支中使用。

 1、 strlen(str)
 2、 3、 4、同上


少年发问题有必要先整理一下代码,这排版看着费劲