zoukankan      html  css  js  c++  java
  • 单词数 (STL set集合)

    单词数

    Problem Description
    lily的好朋友xiaoou333近期非常空。他想了一件没有什么意义的事情。就是统计一篇文章里不同单词的总数。以下你的任务是帮助xiaoou333解决问题。

     
    Input
    有多组数据。每组一行。每组就是一篇小文章。每篇小文章都是由小写字母和空格组成。没有标点符号,遇到#时表示输入结束。
     
    Output
    每组仅仅输出一个整数。其单独成行,该整数代表一篇文章里不同单词的总数。
     
    Sample Input
    you are my friend #
     
    Sample Output
    4
    set集合使用方法及特点:
    1。set中的元素从小到大排列且和集合一样没有反复元素;
    2,set<string>::iterator s.begin() s.end()
    #include<iostream>
    # include<cstring>
    #include<cstdio>
    # include<sstream>
    # include<string>
    #include<set>
    using namespace std;
     string wen,str;
     set<string> dict;
    int main()
    {
    
        while(getline(cin,wen)&&wen!="#")
        {
    
            stringstream  ch(wen);                      //在文本串中找单个单词
            while(ch >>str)
                dict.insert(str);
              printf("%d
    ",dict.size());
              dict.clear();
        }
        return 0;
    }
    


         和用map差点儿相同:
     #include<iostream>
     # include<cstdio>
     # include<string>
     # include<map>
     # include<cstring>
     # include<sstream>
     using namespace std;
     map<string ,int> m;
    
     string str,ch;
    
    /* int main()
     {
         while(getline(cin,str)&&str!="#")
         {
             int len=str.size();
             int i=0;
             m.clear();
              while(i<len)
             {
                 ch="";
                 while(i<len&&'a'<=str[i]&&str[i]<='z')
                        ch+=str[i++];
                  if(ch!="")
                 {
                    m[ch]=1;
                 }
                 i++;
             }
             printf("%d
    ",m.size());
         }
         return 0;
     }*/
    int main()
    {
        while(getline(cin,str)&&str!="#")
        {
           stringstream ss(str);
           m.clear();
           while(ss>>ch)
           {
              m[ch]=1;
           }
           printf("%d
    ",m.size());
        }
        return 0;
    }
    


  • 相关阅读:
    Google哲学(一)
    Predictably Irractional 相对论的真相
    .NET使用OpenSSL生成的pem密钥文件【做电子商务的朋友可能需要】
    从开辟蓝海到保卫蓝海(一)
    礼让?
    登门槛策略
    从开辟蓝海到保卫蓝海(四)
    盛大招聘 高级数据库开发工程师 工作地点张江高科 学历高者,经验可放宽
    Show一下拿的奖杯
    我们家的一坨和田仔玉[三色皮]
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6911480.html
Copyright © 2011-2022 走看看