c++怎么统计字符串出现的字符有哪几个字符(只有字母),并统计每个字符出现的次数;

比如Strings=“aaddffadf”;要求出a:3d:3f:3... 比如 String s = “aaddffadf”;
要求出 a:3 d:3 f:3
展开
 我来答
惠企百科
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部
#include\x0d\x0ausing namespace std;\x0d\x0a\x0d\x0avoid main()\x0d\x0a{\x0d\x0a char s[100], Letter;\x0d\x0a cout<>s;\x0d\x0a\x0d\x0a int count[26], i, s_i; // 统计26个字母出现的次数\x0d\x0a // 初始化\x0d\x0a for (i=0; i<26; i++)\x0d\x0a count[i]=0;\x0d\x0a // 统计各字母出现次数\x0d\x0a int n=strlen(s);\x0d\x0a for (i=0; i<n; i++)\x0d\x0a {\x0d\x0a s_i=s[i]-'a';\x0d\x0a count[s_i]++; // 字符\x0d\x0a }\x0d\x0a // 输出结果\x0d\x0a for (i=0; i<26; i++)\x0d\x0a {\x0d\x0a if (count[i] != 0 ) // 若该字母出现。。。\x0d\x0a {\x0d\x0a Letter='a'+i;\x0d\x0a cout<<Letter<<" : "<<count[i]<<endl; // 输出字母及出现次数\x0d\x0a }\x0d\x0a }\x0d\x0a}\x0d\x0a\x0d\x0a运行示例:\x0d\x0a输入字符串:aaddffadf\x0d\x0aa : 3\x0d\x0ad : 3\x0d\x0af : 3\x0d\x0a\x0d\x0a如果统计的字符不止是26个小写字母,只需相应改变 cout[] 的大小就行了。
qhbsyys
推荐于2018-10-22 · TA获得超过605个赞
知道答主
回答量:42
采纳率:0%
帮助的人:75.7万
展开全部
#include<iostream>
using namespace std;

void main()
{
char s[100], Letter;
cout<<"输入字符串:";
cin>>s;

int count[26], i, s_i; // 统计26个字母出现的次数
// 初始化
for (i=0; i<26; i++)
count[i]=0;
// 统计各字母出现次数
int n=strlen(s);
for (i=0; i<n; i++)
{
s_i=s[i]-'a';
count[s_i]++; // 字符
}
// 输出结果
for (i=0; i<26; i++)
{
if (count[i] != 0 ) // 若该字母出现。。。
{
Letter='a'+i;
cout<<Letter<<" : "<<count[i]<<endl; // 输出字母及出现次数
}
}
}

运行示例:
输入字符串:aaddffadf
a : 3
d : 3
f : 3

如果统计的字符不止是26个小写字母,只需相应改变 cout[] 的大小就行了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XHHISEA02274
推荐于2017-09-06 · TA获得超过8万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:3627万
展开全部

具体代码与运行展示如下:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2010-10-21 · 超过17用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:0
展开全部
测试长度循环吧。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式