zoukankan      html  css  js  c++  java
  • 查找兄弟单词

    输入描述:

    先输入字典中单词的个数n

    再输入n个单词作为字典单词

    再输入一个单词,查找其在字典中兄弟单词的个数

    再输入数字index索引第index个兄弟单词

    3 abc bca cab abc 1

    输出描述:

    根据输入,输出查找到的兄弟单词的个数

    将所有兄弟单词按照字典顺序排序,再输出第index个兄弟单词

    2
    bca

    备注:

    单词均由小写字母组成;相同单词不是兄弟单词。

    考查:容器操作、泛型算法

    #include<iostream>
    #include<string>
    #include<vector>
    #include<algorithm>
    using namespace std;
    
    //判断两个字符串是否是兄弟单词
    int isBrother(string findString,string v)//值传递,不更改原字符串
    {
        //将字符串排序后再比较是否相同
        sort(findString.begin(),findString.end());
        sort(v.begin(),v.end());
        if(findString==v)
            return 1;
        else
            return 0;
    }
    
    int main()
    {
        int n,index;
        vector<string> words;//字典容器
        vector<string> bother;//兄弟单词容器
        string findWord;
        string cinWord;
        while(cin>>n)
        {
            words.clear();//每次重新来过都要清空容器
            bother.clear();
            for(int i=0; i<n; i++)
            {
                cin>>cinWord;
                words.push_back(cinWord);
            }
            cin>>findWord;
            cin>>index;
            for(int i=0; i<n; i++)
            {
                //若字典中第i个单词和findword不同,并且isBrother()返回1
                if(findWord!=words[i] && isBrother(findWord,words[i]))
                {
                    bother.push_back(words[i]);//将第i个单词装入兄弟单词容器
                }
            }
            sort(bother.begin(),bother.end());//将兄弟单词容器排序
            cout<<bother.size()<<endl;
            if(index<=bother.size())
            {
                cout<<bother[index-1]<<endl;//输出第index个兄弟单词
            }
        }
        return 0;
    }

    C++11

  • 相关阅读:
    做问答系统是对题目修改的bug
    控件treetable使用
    百度地图API --地理位置定位
    按每十分钟查询数据
    《deetom》项目开发历程<六> 免登陆
    poj 3348
    poj 1556
    poj 1269
    poj 3304
    R 540
  • 原文地址:https://www.cnblogs.com/chongjz/p/12562677.html
Copyright © 2011-2022 走看看