C++ 统计字符串中每个字符出现的次数,并按照字符出现的次数排序

14人阅读 评论(0) 收藏 举报
分类:

C++  统计字符串中每个字符出现的次数,并按照字符出现的次数排序

此题为58同城的2018年研发实习生笔试题

#pragma warning(disable:4996)

#include <stdio.h>
#include<iostream>
#include<vector>
#include<string>
using namespace std;
using std::cout;
using std::cin;
using std::vector;


struct s {
int count;
char strl;
}s_str[128];


int main()
{
int cnt[128] = { 0 };
int pre[128];
string str;
cin >> str;
int len;
for (len= 0; str[len] != '\0'; len++)
cnt[str[len]]++;
int number=0;
bool flag = false;
for(int j=0;j<128;j++)
if (cnt[str[j]] != 0)
{
flag = false;
for (int i = 0; i < number; i++)
{
if (str[j] == s_str[i].strl)
{
flag = true;
break;
}
}
if (flag == false)
{
s_str[number].count = cnt[str[j]];
s_str[number].strl = str[j];
number++;
}
}
char temp;
int  tempcount;
for(int i=0;i<number;i++)
for (int j = 0; j < number - i - 1; j++)
{
if (s_str[j + 1].count > s_str[j].count|| (s_str[j + 1].count == s_str[j].count&&s_str[j+1].strl>s_str[j].strl))
{
temp = s_str[j + 1].strl;
s_str[j + 1].strl = s_str[j].strl;
s_str[j].strl = temp;
tempcount = s_str[j + 1].count;
s_str[j + 1].count = s_str[j].count;
s_str[j].count = tempcount;
}
}


for (int j = 0; j < number; j++)
cout << s_str[j].strl << "      " << s_str[j].count << endl;


system("pause");
return 0;


}
 
查看评论

Dictionary<>练习题:统计字符串中每个字符出现的次数

要求:统计Welcome to China and welcome to china中每个字符出现的次数,不考虑大小写 思路: 字符----->出现的次数 对应键值对中 键   -----...
  • u013905744
  • u013905744
  • 2015年01月12日 14:52
  • 1030

php统计所有字符在字符串中出现的次数

效果如图 算法: 循环一次字符串(本例的$str),把出现过的字符串记录在一个数组(如本例的$strRecord)内,如果已经此记录函数已经有,则不记录; 在每个字符...
  • a2534725767
  • a2534725767
  • 2017年02月14日 16:53
  • 907

java中怎么统计一个字符串中每个字符的出现次数

String str ="2342asfghgyu56asdasda"; Map maps = new HashMap(); for(int i=0;i
  • KJinfei
  • KJinfei
  • 2017年09月20日 13:02
  • 208

统计一个字符串中每个字符出现的次数,并按自然顺序输出

统计一个字符串中每个字符出现的次数,并按自然顺序输出
  • hoho_12
  • hoho_12
  • 2016年07月30日 15:18
  • 2155

java统计字符串中每个字符出现的次数

例如String str = “abcaaaefdabbhg”; 统计该字符串中每个字符出现的次数,输出: a====5 b====3 c====1 d====1 e====1 f===...
  • csdn_zsdf
  • csdn_zsdf
  • 2017年07月24日 21:25
  • 10140

C++统计字符出现的次数并输出

int main(){int i,j,m,k,n;char str[]="ssddsdfghggf";for(i=0;i
  • u013960273
  • u013960273
  • 2016年05月07日 14:28
  • 3896

Java_基础—统计字符串中每个字符出现的次数

* 需求:统计字符串中每个字符出现的次数
  • SoarFly0807
  • SoarFly0807
  • 2017年07月18日 16:19
  • 2188

Counter统计每个字符出现的次数

在python的API中,提到了Counter,它具有统计的功能 下面是我做的demo: 1.统计自定义字符串中每个字符出现的次数 2.读取一个文件,把文件中的内容转化为字符串,统计...
  • screaming
  • screaming
  • 2016年06月19日 20:02
  • 1389

给定一个字符串,统计每个字符串出现的频率,并排序

/** * 给定一个字符串,统计个个字符串出现的频率 * @param s */ public static void tongji(String s){ HashMap hashC...
  • like_study
  • like_study
  • 2014年10月11日 21:32
  • 1458

统计字符串中的每个字符出现次数

手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。提示(可以用Map)package 华为机试题;import java.util.HashMap; import ja...
  • hutongling
  • hutongling
  • 2017年04月08日 13:58
  • 1030
    个人资料
    等级:
    访问量: 8492
    积分: 281
    排名: 27万+
    文章分类
    最新评论