输入一个英文句子,将句子中的单词按字典序输出。
#include <iostream>
#include <string>
#include <map>
using namespace std;
main()
{
string s,s1,s2;
map<string,int> mmap;
cout<<"请输入句子:"<<endl;
while(cin>>s)
{
if(s=="#")
break;
int k=0;
for(int i=0;i!=s.length();++i)
{
if(s[i]==',')
{
s1=s.substr(0,i);//表示从字符串s中抽取从0下标开始的指定数目i的字符串给s1
s2=s.substr(i+1,s.length());
mmap[s1]++;
mmap[s2]++;
k=1;
}
if(s[i]=='.')
{
s1=s.substr(0,i);
mmap[s1]++;
k=2;
}
}
if(k==0)
mmap[s]++;
}
map<string,int>::iterator it;
cout<<"统计结果:"<<endl;
for(it=mmap.begin();it!=mmap.end();++it)
{cout<<it->first<<"="<<it->second<<endl;}