「已注销」 2023-02-23 00:44 采纳率: 84.2%
浏览 100
已结题

C/C++查找单词C/C++

小民喜欢和同学玩查找单词游戏,游戏规则是这样的:同学任意给定一个单词,他想知道该单词在某一文章中出现的次数和第一次出现的位置,小民说这个问题很容易用程序解决。请你帮助小民编程求解该问题。
说明:文章中首字母的位置为0,以此类推。如果单词在文章中没有出现,则输出整数
-1.
注意:单词匹配时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。
【输入形式】
共2行。
第1行为一个字符串,其中只含字母(大小写字母都有可能),表示给定单词;
第2行为一个字符串,其中只可能包含字母(大小写字母都有可能)和空格,表示给定
的文章。【输出形式】
1行,包含两个整数,两个整数之间用一个空格隔开,表示给定单词在给定文章中出现的次数和第一次出现的位置。
输入样例1:
To
You have to jump high to play this sport 输出样例1
2 9
输入样例2
sun
You Are My Sunshine
输出样例2
-1
分析:首先将给定的单词 word 与文章都转换为小写字母,再调用 string 类的 find 函数,从 pos =0位置处查找给定的单词,如果 find 函数调用的返回值 ret 为﹣1,则直接输出﹣1,否则单词数加1,记录单词第一次出现的位置 first ,并修改 pos = ret + word . length ()-1,重复以上步骤,不断循环调用 find 函数,直到返回值为﹣1。

  • 写回答

2条回答 默认 最新

  • ksgpjhqf 2023-02-23 10:10
    关注
    #include<stdio.h>
    #include<string.h>
    int main(){
        int t=0,p=-1,i=0,n=0;
        char s1[1000],s2[1000],c;
        scanf("%s",s1);
        while(getchar()!='\n');
        for(i=0;i<strlen(s1);i++){
            if(s1[i]>='a' && s1[i]<='z')s1[i]-='a'-'A';
        }
        s1[i]='\0';
        do{
            c=getchar();
            n++;
            if(c>='a' && c<='z')c-='a'-'A';
            if(c==' '||c=='\n'){
                s2[i++]='\0';
                if(strcmp(s1,s2)==0){
                    if(p==-1)p=n-i;
                    t++;
                }
                i=0;
            }else{
                s2[i++]=c;
            }
        }while(c!='\n');
        if(t>0){
            printf("%d %d",t,p);
        }else{
            printf("%d",-1);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 2月23日

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题