记录输入的不同单词,按字典序排列,用set。
注意 输入 3132abc4d 时
应输出
abc
d
#include<iostream> #include <stdio.h> #include<algorithm> #include<string> #include<set> using namespace std; int main() { set<string>s; set<string>::iterator p; string a,b; while(cin>>a) { b.clear(); int n=a.size(); int p=0; for(int i=0; i<n; i++) { if(a[i]<='z'&&a[i]>='a') {p=1;b+=a[i];} else if(a[i]<='Z'&&a[i]>='A') {p=1;b+=a[i]+32;} else{ if(p){ /// p==1 表示前面输入的是字母 p==0 表示前面输入的不是字母 s.insert(b); b.clear(); p=0;} } } if(p) s.insert(b); } for(p=s.begin();p!=s.end();p++) cout<<*p<<endl; return 0; }
UVa 10815 - Andy's First Dictionary
原文地址:http://blog.csdn.net/u014705854/article/details/42918317