C经典88案例打包下载地址
链接: https://pan.baidu.com/s/1niyqlgtX3AWWQ669aUHVNw
密码: uji4

1 题目
函数:fun()
功能:统计一行字符串单词的个数,作为函数值返回
一行字符串在主函数中输入,规定所有单词都是由小写字母组成,单词之间由若干空格隔开,一行的开始没有空格
2 思路
逐个字符进行判断是否为空
下面“空开处”指的是一个空格或者若干空格隔开单词的说法
- 开头无空格,故需要判断结尾有没有空开出,如果有,直接计算空开出就是单词数,如果没有需要单词数加1
- 上述1中的空开出需要做处理,由于单词间由若干空格隔开,故判断一个空格的前一个是否为空格,如果不是,数量加1;如果是,不做处理
3 代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #include<stdio.h> #include<string.h> #define M 3 #define N 4
int fun(char *s) { int cnt = 0; int i = 0; while(*(s+i)!='\0') { if (*(s+i) == ' ' && *(s+i-1) != ' ') { cnt += 1; } ++i; } if (*(s+i-1) != ' '){ return cnt + 1; } return cnt; }
int main(int argc, char const *argv[]) { char s[] = "hello world i am c language"; printf("字符串内容:%s\n", s); printf("单词个数为:%d\n", fun(s)); }
|
示例结果:
1 2 3 4
| $ gcc ex003.c -o demo $ ./demo 字符串内容:hello world i am c language 单词个数为:6
|
最后福利
在这里给大家准备了几百本的互联网技术类书籍,需要的来下载吧!点击获取
有任何问题,欢迎随时交流!!!