2 dabentudou dabentudou 于 2016.01.15 22:39 提问

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

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

#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]);  
                        }

5个回答

caozhy
caozhy   Ds   Rxr 2016.01.15 22:43
已采纳
 if ((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z'))

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

if (str[i] == ' ')

qq_27183003
qq_27183003   Ds   Rxr 2016.01.16 22:28
 1、 strlen(str)
 2、 3、 4、同上


viggo96
viggo96   2016.01.16 01:21

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

CSDNXIAON
CSDNXIAON   2016.01.15 22:40
91program
91program   Ds   Rxr 2016.01.16 11:27

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

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 分支中使用。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!