c++怎么统计字符串出现的字符有哪几个字符(只有字母),并统计每个字符出现的次数;
4个回答
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
#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[] 的大小就行了。
展开全部
#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[] 的大小就行了。
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[] 的大小就行了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
测试长度循环吧。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询