风在归途 2024-03-30 21:03 采纳率: 66.7%
浏览 3
已结题

有关#C语言#的问题

img


请编写函数fun,函数的功能是:统计一行字符串中单词的个数,所求得的单词的个数作为函数值返回。一行字符串在主函数中输入,规定单词之间由若干个空格隔开,一行的开始没有空格。

  • 写回答

3条回答 默认 最新

  • 关注

    晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    问题1: 请编写函数fun,函数的功能是:统计一行字符串中单词的个数,所求得的单词的个数作为函数值返回。一行字符串在主函数中输入,规定单词之间由若干个空格隔开,一行的开始没有空格。

    解决方案:

    1. 创建一个函数fun,传入一个字符串参数s。
    2. 初始化一个整型变量count,用于存储单词的个数。
    3. 使用循环遍历字符串s的每个字符。
    4. 当遇到字符为空格时,判断前一个字符是否为非空格,若是,则说明一个单词结束,count加1。
    5. 最后返回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,函数的功能是:统计一行字符串中单词的个数,所求得的单词的个数作为函数值返回。一行字符串在主函数中输入,规定单词之间由若干个空格隔开,一行的开始没有空格。

    解决方案:

    1. 创建一个函数f,传入一个字符串参数s。
    2. 初始化一个整型变量count,用于存储单词的个数。
    3. 使用循环遍历字符串s的每个字符。
    4. 当遇到字符为空格时,判断前一个字符是否为非空格,若是,则说明一个单词结束,count加1。
    5. 最后返回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;
    }
    

    希望能帮到你!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月7日
  • 已采纳回答 3月30日
  • 创建了问题 3月30日

悬赏问题

  • ¥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 数据分析出错了,希望有能人看看,解决一下