1185:单词排序

简介: 1185:单词排序

1185:单词排序

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写)

【输入】

一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔。数据不含除字母、空格外的其他字符。

【输出】

按字典序输出这些单词,重复的单词只输出一次。

【输入样例】

She  wants  to go to Peking University to study  Chinese

【输出样例】

Chinese

Peking

She

University

go

study

to

wants

【来源】

No

1. #include<iostream>
2. #include<cstdio>
3. #include<cstring>
4. #include<string>
5. #include<algorithm>
6. using namespace std;
7. int main()
8. {
9.     string a[100];
10. int k=0;
11. bool flag;
12. int i;
13. while(cin>>a[k]) {
14.         flag=false;
15. for(i=0;i<k;i++) {
16. if(a[i].compare(a[k])==0) {
17.                 flag=true;
18. break;
19.             }
20.         }
21. if(!flag) k++;
22.     }
23. sort(a,a+k);
24. for(i=0;i<k;i++)  cout<<a[i]<<endl;
25. return 0;
26. }
1. #include <iostream>
2. #include <string>
3. #include <algorithm>
4. using namespace std;
5. int main(int argc, char *argv[])
6. {
7.  string word[1000];
8.  string s;
9.  int n=0,i;
10.   while(cin>>s)word[n++]=s;
11.   sort(&word[0],&word[n]);
12.   for(i=0;i<=n;i++)
13.     if(word[i]!=word[i+1])  cout<<word[i]<<endl;  
14.   return 0;
15. }
1. #include <iostream>
2. #include <string>
3. #include <algorithm>
4. using namespace std;
5. int main(int argc, char *argv[])
6. {
7.  string word[1000];
8.  string s;
9.  char buf[5000];
10.   int n=0,i;
11.   while(getline(cin,s)){
12.     int b=0;
13.     for(i=0;i<s.size();i++){
14.       if((i==0 && s[i]!=' ') || (i>0 && s[i-1]==' ' && s[i]!=' '))
15.         b=i;
16.       if((i>0 && i<s.size()-1 &&  s[i]!=' ' && s[i+1]==' ') ||         
17.                           (i==s.size()-1 && s[i]!=' ')){
18.         word[n++]=s.substr(b,i-b+1);
19.       }
20. 
21.     }
22.   }
23.   sort(&word[0],&word[n]);
24.   for(i=0;i<=n;i++)
25.     if(word[i]!=word[i+1]) cout<<word[i]<<endl; 
26.   return 0;
27. }

 


相关文章
|
6月前
|
测试技术
leetcode-1592:重新排列单词间的空格
leetcode-1592:重新排列单词间的空格
44 0
|
3月前
【刷题记录】数字颠倒、单词倒排
【刷题记录】数字颠倒、单词倒排
|
6月前
每日一题(数字颠倒,单词倒排)
每日一题(数字颠倒,单词倒排)
34 1
|
6月前
|
自然语言处理
leetcode-720:词典中最长的单词
leetcode-720:词典中最长的单词
55 0
逆序一个字符串的每一组单词(不是倒叙)
整体思路: 1.先将整个字符串倒叙:i like china.->.anihc ekil i 2.将倒叙后的每一块单词再倒叙:.anihc->china. 想必大家都发现了,倒叙整个字符串和倒叙每一块是一样的,那么我们不妨写一个倒叙的函数在这里用reserve表示!
67 0
从排列字符串到排列序列:解析增减字符串匹配问题
题目要求根据给定的字符串 s,构造一个排列序列 perm,其中排列序列中的数字满足以下规则: 如果 perm[i] < perm[i + 1],则对应的字符为 'I'; 如果 perm[i] > perm[i + 1],则对应的字符为 'D'。 我们需要根据字符串 s 中的字符,构造满足上述规则的排列序列 perm。
55 0
7-210 英文单词排序
7-210 英文单词排序
82 0
2114. 句子中的最多单词数
一个 句子 由一些 单词 以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。 给你一个字符串数组 sentences ,其中 sentences[i] 表示单个 句子 。 请你返回单个句子里 单词的最多数目 。
104 0
「题解」字符串中的所有单词进行倒排
题目要求 1、构成单词的字符只有26个大写或小写英文字母; 2、非构成单词的字符均视为单词间隔符; 3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符; 4、每个单词最长20个字母;