请编写函数fun,函数的功能是:统计一行字符串中单词的个数,所求得的单词的个数作为函数值返回。一行字符串在主函数中输入,规定单词之间由若干个空格隔开,一行的开始没有空格。
![](https://profile-avatar.csdnimg.cn/d3a15219cbb546c589584f651e33e2d4_2301_82301484.jpg!4)
有关#C语言#的问题
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,所求得的单词的个数作为函数值返回。一行字符串在主函数中输入,规定单词之间由若干个空格隔开,一行的开始没有空格。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- Kwan的解忧杂货铺@新空间代码工作室 2024-03-30 21:04关注
晚上好🌙🌙🌙
本答案参考ChatGPT-3.5问题1: 请编写函数fun,函数的功能是:统计一行字符串中单词的个数,所求得的单词的个数作为函数值返回。一行字符串在主函数中输入,规定单词之间由若干个空格隔开,一行的开始没有空格。
解决方案:
- 创建一个函数fun,传入一个字符串参数s。
- 初始化一个整型变量count,用于存储单词的个数。
- 使用循环遍历字符串s的每个字符。
- 当遇到字符为空格时,判断前一个字符是否为非空格,若是,则说明一个单词结束,count加1。
- 最后返回count作为函数的返回值。
修改后的代码如下:
int fun(char *s) { int count = 0; int i; for (i = 0; s[i] != '\0'; i++) { if (s[i] == ' ' && s[i-1] != ' ') { count++; } } return count + 1; } int main() { char str[N]; printf("输入字符串:\n"); gets(str); int num = fun(str); printf("单词的个数:%d\n", num); return 0; }
问题2: 请编写函数f,函数的功能是:统计一行字符串中单词的个数,所求得的单词的个数作为函数值返回。一行字符串在主函数中输入,规定单词之间由若干个空格隔开,一行的开始没有空格。
解决方案:
- 创建一个函数f,传入一个字符串参数s。
- 初始化一个整型变量count,用于存储单词的个数。
- 使用循环遍历字符串s的每个字符。
- 当遇到字符为空格时,判断前一个字符是否为非空格,若是,则说明一个单词结束,count加1。
- 最后返回count作为函数的返回值。
修改后的代码如下:
int f(char *s) { int count = 0; int i; for (i = 0; s[i] != '\0'; i++) { if (s[i] == ' ' && s[i-1] != ' ') { count++; } } return count + 1; } int main() { char str[N]; printf("输入字符串:\n"); gets(str); int num = f(str); printf("单词的个数:%d\n", num); return 0; }
希望能帮到你!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 生成一个STM32F103veTX单片机程序,
- ¥15 plus模型贡献度为nan
- ¥25 使用cube ai 导入onnx模型时报错
- ¥15 关于#微信小程序#的问题:用一个网页显示所有关联的微信小程序数据,包括每个小程序的用户访问量
- ¥15 root的安卓12系统上,如何使apk获得root或者高级别的系统权限?
- ¥20 关于#matlab#的问题:如果用MATLAB函数delayseq可以对分数延时,但是延时后波形较原波形有幅度上的改变
- ¥15 使用华为ENSP软件模拟实现该实验拓扑
- ¥15 通过程序读取主板上报税口的数据
- ¥15 matlab修改为并行
- ¥20 数据分析出错了,希望有能人看看,解决一下