Andy's First Dictionary
原題及翻譯
Andy, 8, has a dream - he wants to produce his very own dictionary.
8歲的安迪有一個夢想——他想自己編一本字典。
This is not an easy task for him, as the number of words that he knows is,well, not quite enough.
對他來說,這不是一件容易的事情,因為他知道的單詞數量還不夠。
Instead of thinking up all the words himself, he has a briliant idea.
他沒有把所有的話都想出來,而是有一個聰明的想法。
From his bookshelf he would pick one of his favourite story books, from which he would copy out all the distinct words.
他會從書架上挑一本他最喜歡的故事書,從中抄寫所有不同的單詞。
By arranging the words in alphabetical order, he is done!
按字母順序排列單詞,他就完了!
Of course, it is a really time-consuming job, and this is where a computer program is helpful.
當然,這是一項非常耗時的工作,而這正是計算機程序有幫助的地方。
You are asked to write a program that lists all the different words in the input text.
您需要編寫一個程序,列出輸入文本中的所有不同單詞。
In this problem, a word is defined as a consecutive sequence of alphabets, in upper and/or lower case.
在這個問題中,一個單詞被定義為字母的連續序列,大小寫為大寫和/或小寫。
Words with only one letter are also to be considered.
只有一個字母的單詞也要考慮。
Furthermore, your program must be CaSe InSeNsItIvE.
此外,您的程序必須不區分大小寫。
For example, words like “Apple”, “apple” or “APPLE” must be considered the same.
例如,“apple”、“apple”或“apple”等詞必須視為相同。
Input
The input file is a text with no more than 5000 lines.
輸入文件是不超過5000行的文本。
An input line has at most 200 characters.
輸入行最多有200個字符。
Input is terminated by EOF.
輸入被EOF終止。
Output
Your output should give a list of different words that appears in the input text, one in a line.
您的輸出應該給出顯示在輸入文本中的不同單詞的列表,一行一個。
The words should all be in lower case, sorted in alphabetical order.
所有單詞都應為小寫,按字母順序排序。
You can be sure that he number of distinct words in the text does not exceed 5000.
您可以確定,文本中不同單詞的數目不超過5000。
Sample Input
Adventures in Disneyland
Two blondes were going to Disneyland when they came to a fork in the
road. The sign read: “Disneyland Left.”
So they went home.
Sample Output
a
adventures
blondes
came
disneyland
fork
going
home
in
left
read
road
sign
so
the
they
to
two
went
were
when
代碼分析
#include <iostream> #include <string> #include <set> #include <sstream> using namespace std; set<string> dict; //string集合 int main() {string s,buf;while(cin>>s){for(int i=0;i<s.length();i++){if(isalpha(s[i])){s[i]=tolower(s[i]);}else{s[i]=' ';}}stringstream ss(s);while(ss>>buf)dict.insert(buf);}for(set<string>::iterator it=dict.begin();it!=dict.end();++it){cout<<*it<<"\n";}return 0; }總結
以上是生活随笔為你收集整理的Andy's First Dictionary的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python人工智能——深度学习——Te
- 下一篇: PaddlePaddle训练营——公开课