zoukankan      html  css  js  c++  java
  • 统计单词数 OpenJ_Bailian

     一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
    现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同 (参见样例 1) ,如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例 2) 。

    说实话,字符串是我的弱坑,这次题意还十分有歧义,他说的第一次位置,是每个字符数出来的位置,而不是每个单词数出来的位置。真心坑。

    #include<iostream>
    #include<string>
    #include<cstdio>
    using namespace std;
    void fun(string &num)
    {
        int len = num.length(), kk = 'a' - 'A';
        for (int i = 0; i < len;++i)
        if (!(num[i]<='Z'&&num[i]>='A'||num[i]>='a'&&num[i]<='z'))continue;
        else if (num[i] <= 'Z')num[i] += kk;
    }
    int main()
    {
        string res,cns;
        int len;
        (cin >> res).get();
        fun(res);
        getline(cin, cns);
        fun(cns);        len = cns.length();
        int first, count=0, k=0;
        for (int i = 0; i < len;)
        {
            string word = "";
            while (i < len&&cns[i] != ' '){ word += cns[i]; ++i; }
            if (i >= len)break;
            if (res == word)
            {
                if (count==0){ first = i-res.length();}
                count++;
            }
            ++k;
            while (i<len&&cns[i] == ' ')++i;
        }
        if (!count)printf("-1
    ");
        else printf("%d %d
    ", count, first);
    }
  • 相关阅读:
    Hibernate Validation注解列表
    Java_Shell多线程
    Lua读写文件
    shell导出和导入redis
    大文件读写
    Java_Hbase优化
    控制语句if
    字典(DICT)
    元组Tuple
    Session 会话
  • 原文地址:https://www.cnblogs.com/ALINGMAOMAO/p/10061570.html
Copyright © 2011-2022 走看看