单词数 (STL set集合)
生活随笔
收集整理的這篇文章主要介紹了
单词数 (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\n",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\n",m.size());}return 0;}*/ int main() {while(getline(cin,str)&&str!="#"){stringstream ss(str);m.clear();while(ss>>ch){m[ch]=1;}printf("%d\n",m.size());}return 0; }
總結
以上是生活随笔為你收集整理的单词数 (STL set集合)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农村信用社信用卡申请 农信银行信用卡申请
- 下一篇: HQL查询步骤