题目描述 Description

题目描述

编程实现查找单词的功能,快速找到文章中单词所在的位置,以及统计出指定单词出现的次数。

具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。

输入样例#1: To to be or not to be is a question 输出样例#1: 2 0

输入样例#2: to Did the Ottoman Empire lose its power at that time 输出样例#2: -1

1≤ 单词长度≤20。

1≤ 文章长度≤1,0000

输入描述 Input Description

输入格式:
包含2 行。
第1 行为一个字符串,其中只含字母,表示给定单词;
第2 行为一个字符串,其中只可能包含字母和空格,表示给定的文章。

输出描述 Output Description

输出格式:
只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从 0 开始);如果单词在文章中没有出现,则直接输出一个整数-1。

样例输入 Sample Input

not
to be or Not to be is a question

样例输出 Sample Output

1 3

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 
 5 using namespace std;
 6 
 7 char a[25],b[10005];
 8 int main(){
 9     gets(a);
10     gets(b);
11 
12     for(int i=0;i<strlen(b);i++)
13     {
14         if(b[i]>='a' && b[i]<='z')
15             b[i]=b[i]-32;
16     }
17     for(int i=0;i<strlen(a);i++)
18     {
19         if(a[i]>='a' && a[i]<='z')
20             a[i]=a[i]-32;
21     }
22 
23     //sum 出现次数,k 出现位置,space 统计空格出现次数,确定单词的位置
24     int sum=0,k=0,space=0;
25     int j;
26     for(int i=0;i<strlen(b);i++)
27     {
28         if(b[i]==' ')
29             space++;
30         if(a[0]==b[i])
31         {
32             for(j=0;j<strlen(a);j++)
33             {
34                 if(a[j]!=b[i+j])
35                     break;
36             }
37             if((j==strlen(a) && b[i-1]==' '&&(b[i+j]==' '||j+i==strlen(b))) || ((j==strlen(a) && b[i+j]==' '&&i==0 )))
38             {
39                 sum++;
40                 if(sum==1)
41                 {
42                     k=space;
43                 }
44             }
45         }
46     }
47 
48     if(sum>0)
49         cout<<sum<<" "<<k;
50     else
51         cout<<-1;
52     return 0;
53 }

优质内容筛选与推荐>>
1、守护线程
2、Spring(九)AspectJ
3、Spring Cache
4、angularJs的各种服务和指令的使用场景
5、多进程 对文件并发操作


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号