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

2024-11-16 04:30:15
推荐回答(5个)
回答(1):

int fun(char *s)

{int i,k=0;

for(i=0;s[i]!='\0';i++)

{if(s[i]>='0'&&s[i]<='9')k++;}

return k;

例如:

#include

#define MAX_LEN 25 /* 字符串字符个数 */

int Count(char s[]); /* 计算函数声明 */

main()

{

int i;

int count = 0;

char ch;

char str[MAX_LEN+1]; /* 字符数组 */

str[MAX_LEN] = '\0'; /* 字符串结束标识符zhi */

clrscr(); /* tuirbo c 2.0 清屏函数 */

printf("input a string : ");

for (i=0;i

daoch = getchar();

if (ch=='\n') break;

str[i] = ch;

}

str[i] = '\0'; /* 当前字符串结束标识符 */

count = Count(str); /* 调用计数函数 */

printf("count:%d",count); /* 打印结果 */

}

int Count(char s[])

{

int i;

int c = 0;

for (i=0;s[i]!='\0';i++) {

if(s[i]>='0'&&s[i]<='9') c++; /* 判断并计数 */

}

return c;

}

/* 晚安 See you tomorrow !*/

扩展资料:

C/C++ 语言标准库中没有fun函数。fun函数是自定义函数,是使用来举例或作语法演示的,需要在使用前自行定义声明。fun一词没什么特别含义,也可以换成别的名称,如"abc"或者"baidubaike"。它只表示引用之前出现的函数,以调用它执行一些需求,int fun(int x,int y)只是一个举例的函数名而已,以及其声明的参数类型。

参考资料来源:百度百科-fun函数

回答(2):

/*嗯,完全可以,希望对你有帮助!*/
#include 

int main(void)
{
    char *str = "1a2b3c4d5f";
    int count = fun(str);
    printf("数字字符出现了%d次!\n",count);
    return 0;
}

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

回答(3):

不可以直接使用while(*s!='\0')……
因为s是个地址常量,指向该字符串的第一个首字符,它不可以进行运算。
而指针变量可以进行运算例如自加

回答(4):

int cnt;
for(cnt=0;*s;s++)
{
    if(*s>='0'&&*s<='9')    
    {
        cnt++;
    }
}
return cnt;

回答(5):

应该可以
count要初始化
*s!='\0'