想了半天没有头绪,求大神带我~

定义函数findNumber和findSpace,功能分别是查找字符串中数字的个数和字符串中空格的个数,并返回。在主函数中输入一串字符串放入char str[20]中,调用findNumber和findSpace函数,输出数字和空格的个数。

供参考:

#include<stdio.h>

int findNumber(char *s);
int findSpace (char *s);

int main()
{
    char str[64]={0};
    gets(str);
    printf("Number:%d\nSpace:%d\n",findNumber(str),findSpace(str));
    
    return 0;
}

int findSpace(char *s)
{
    int cnt=0;
    while(*s){
          if(*s==' ') cnt++;
          s++;
    }
    return cnt;
}

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

 

不知道你现在做的怎么样了,给你一个思路叭。这个问题比较关键的在于怎么判断该字符是数字或者空格嘛。判定条件就直接按照ascii码的数值就可以了。比如数字的判断你可以用(c <='9'&&c>='0')来判断。这两个函数的返回值是int,只要有字符是数字或者空格就加一。

加油辣~