P101 统计字符串中的数字字符个数 ★

03-程序设计题 软件121, 唐鼎威 750浏览

所属年份:2011.9
请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。

例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x,
函数fun返回值为:11

#include  <stdio.h>

int fun(char  *s)
{

}

int main()
{
    char *s="2def35adh25  3kjsdf 7/kj8655x";
    printf("%s\n",s);
    printf("%d\n",fun(s));
    return 0;
}

【解题思路】
要统计字符串中数字字符的个数,首先应定义变量n,并初始化为0,然后遍历字符串,逐个判断字符是否为数字字符,判断条件为该元素的ASCII码在字符0和9的ASCII码之间,若判断条件成立,则使n的值加1,否则,继续判断下一个字符,直到字符串结束。

【参考答案】

int fun(char  *s)
{
    int n=0;
    char *p;
    for(p=s; *p!='\0'; p++)
        if((*p>='0')&&(*p<='9'))
            n++;
    return n;
}
int fun(char  *s)
{
    int n=0;
    for( ; *s!='\0'; s++)
        if((*s>='0')&&(*s<='9'))
            n++;
    return n;
}