Charizard_ 2021-12-08 16:11 采纳率: 100%
浏览 214
已结题

关于#c语言#的问题:以文献内容和一个单词为参数,统计文献中该单词出现的次数(以参数形式返回给该函数的调用者),并将第一次出现该单词在数组中的位置指针作为返回值

c语言
1.文献查找一般是通过关键词进行查找的,英文文献的关键词是出现次数最多的单词。现给定一篇英文文献,用一个字符串数组保存,数组的每个元素存储的是文献中的一句话,书的内容不多于10000句。(单词仅由字母构成)
实现一个函数,以文献内容和一个单词为参数,统计文献中该单词出现的次数(以参数形式返回给该函数的调用者),并将第一次出现该单词在数组中的位置指针作为返回值。
2.在上述实现的函数基础上,找出文献的关键词

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-12-08 16:17
    关注

    参数用指针,找到单词第一个字符出现位置,然后逐个进行比较,全部匹配则计数加1

    #include <stdio.h>
    char *findwords(char *s,char *w,int *count)
    {
        int i=0,j=0,k;
        char *p = NULL;
        while(s[i] != 0)
        {
            j=0;
            k = i;
            while(s[k] != 0 && w[j] != 0 && s[k++] == w[j++]);
            if(w[j] == 0)
            {
                 (*count)++;
                 if(p == NULL)
                      p = s+i;
                 i=k-1;
            }
            i++;
        }
        return p;
    }
    int main()
    {
        char s[10001];
        char w[101];
        char *p = NULL;
        int count  = 0;
        gets(s);
        gets(w);
        p = findwords(s,w,&count);
        printf("%d",count);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 已采纳回答 12月10日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景