请读入句子,统计句子中每个单词出现的次数问题

原帖见: 

http://community.csdn.net/Expert/TopicView3.asp?id=5023839

题目:

输出每个单词出现的次数
比如:aaa,bbb,ccc,aaa,avc,aaa.
那么aaa为3,bbb为1.....
在输出时,还要将输入单词按首字母排列

解答:

     回复人:du51(郁郁思扬) ( 两星(中级)) 信誉:100     2006-9-15 15:10:45     得分:0

/*------------------------------------*/
#include
< iostream >
#include
< string >
#include
< vector >
#include
< sstream >
#include
< algorithm >
#include
< functional >
#include
< cctype >
#include
< iterator >
using   namespace  std;
int  main()
{
string test="aaa,bbb,ccc,aaa,avc,aaa.ccc wwwww www.csdn.net www.warcraft.com";
replace_if(test.begin(),test.end(),not1(ptr_fun(::isalpha)),
' ');
istringstream ss(test);
vector
<string> vec;
copy(istream_iterator
<string>(ss),istream_iterator<string>(),back_inserter(vec));
sort(vec.begin(),vec.end());
for(vector<string>::iterator it=vec.begin(),start=vec.begin();it!=vec.end();start=it)
{
if((it=adjacent_find(start,vec.end(),not_equal_to<string>()))!=vec.end())++it;
cout
<<*start<<" "<<distance(start,it)<<endl;
}

system(
"PAUSE");
return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值