编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数
问题描述:
编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个 数,在主函数中输入字符串以及输出上述的结果。请填空完成上述功能的程序。
#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、同上
答
少年发问题有必要先整理一下代码,这排版看着费劲