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;
    }
    


  • 相关阅读:
    程序员励志语录
    javaEE的十一种技术
    gui内函数调用顺序
    m文件中函数的执行顺序
    VC++与Matlab混合编程之引擎操作详解(6)数据类型mxArray的操作
    GUI(2)
    时间管理
    Matlab GUI界面
    matlab GUI(2)
    MATLAB GUI平台
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6911480.html
Copyright © 2011-2022 走看看