您的位置:首页 > 其它

求字符串中出现次数最多和第二多的字母

2016-12-05 19:54 169 查看
有结构体

sort排序

还有我不知道的小东西

我真是太水了。。。

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <string>
using namespace std;
int t[1005];
struct mima
{
int num;
char ch;
} a[1005];
bool cmp(mima a,mima b)//对结构体的num排序
{
return a.num>b.num;
}
int main()
{
int m=0;
string s="abhcujzqacehbfjkbacxmcnjkaecfiallcxcbbcad";
int len=s.length();//用string求字符串长度 len=s.length(); 或者 len=s.size();
for(int i=0;i<len;++i)
{
t[s[i]]++;//厉害了,字母也可以当下标,不过字母在ASCII中也有数嘛
}
for(char i='a';i<='z';++i)
{
a[++m].ch=i;
a[m].num=t[i];
}
sort(a+1,a+m+1,cmp);//排序,按出现次数从大到小
cout<<a[1].ch<<a[2].ch<<endl;
//for (int i=1;i<=m;i++)
//printf("%c %d\n",a[i].ch,a[i].num);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐