我是靠谱客的博主 高高黑夜,这篇文章主要介绍华为机试——字符统计,现在分享给大家,希望可以做个参考。

输入一个字符串,对字符串中的各个英文字符,数字,空格进行统计(可反复调用),按照统计个数的多少输出统计结果,如果统计的个数相同,则按照ACSII码由小到大排序输出。调用者会保证:输入的字符串以’’结尾

#include<iostream>
#include<algorithm>
using namespace std;
struct Count
{
int c;
int count;
};
bool cmp(const struct Count& a,const struct Count& b)
{
if(a.count==b.count)
return a.c<b.c;
else
return
a.count>b.count;
}
int main()
{
struct Count a[256];
char b[200];
for(int i=0;i<256;i++)
{
a[i].c=i;
a[i].count=0;
}
gets(b);
for(int i=0;b[i]!='';i++)
{
if(b[i]>='a' && b[i]<='z' || b[i]>='A' && b[i]<='Z'|| b[i]>= '0' && b[i] <='9'||b[i]==' ')
{
unsigned char temp=b[i];
a[temp].count++;
}
}
sort(a,a+256,cmp);
for(int i=0;i<256;i++)
{
if(a[i].count != 0)
cout<<char(a[i].c);
}
return 0;
}

最后

以上就是高高黑夜最近收集整理的关于华为机试——字符统计的全部内容,更多相关华为机试——字符统计内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部