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

比如 String s = “aaddffadf”;
要求出 a:3 d:3 f:3

#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[] 的大小就行了。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-10-22
#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[] 的大小就行了。本回答被提问者和网友采纳
第2个回答  推荐于2017-09-06

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

第3个回答  2010-10-21
测试长度循环吧。。。

c++怎么统计字符串出现的字符有哪几个字符(只有字母),并统计每个字符出 ...
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;\\x

C++,输入字符串,统计各个字母出现次数,显示字母和次数,求大神知道咩
1、首先我们选择鼠标单击文件里的“新建”项目。2、选择为:控制台应用程序 - “名称:计算字符串中每个字母的出现次数 - ”确定。3、之后我们选择确定系统生成的代码。4、首先编写一个字符串进行测试。5、测试代码1:使用Dictionary集合和循环来确定测试代码。6、测试结果1:程序成功运行后显示每个字母的...

c++中如何统计输入的字母数量并输出?
在C++中统计输入的字母数量并输出,可借助`std::string`与`std::map`类实现。方法并非单一,本文提供一种高效解决方案,充分利用现代C++特性以提升效率。首先,确认已掌握以下知识点:1. 熟悉C++11基于范围的for循环,有助于简化遍历过程。2. 掌握`std::map`的使用,它是关联容器,可高效地存储键值对...

c++ 输入一行字符,分别统计出其中
用循环语句即可依次统计。1、while语句:include<stdio.h>int main(void){ \/\/输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 char ch; int char_num=0,kongge_num=0,int_num=0,other_num=0; while((ch=getchar())!='\\n')\/\/回车键结束输入,并且回车符...

c++统计某字符串中某指定字符出现的次数。
int a[26];\/\/小写 int main(){ char n[10000];\/\/输入串 cin>>n;for(int i=0;n[i]!=0;i++){ if(n[i]>='a' && n[i]<='z')a[n[i]-'a']++;\/\/小写检测 else A[n[i]-'A']++;\/\/大写检测 } for(int i=0;i<=26;i++)if(A[i]!=0)cout<<char(i+'A')<<...

c++ 输入一串字符,统计各字符出现的次数(分为大写字母、小写字母、数...
cout<<"该字符中大写字母个数:"<<i<<endl;cout<<" 小写字母个数:"<<j<<" 数字个数:"<<k;} \/* 入口函数 *\/ void main(){ int k;char S1[N],S2[N];cout<<endl<<"请输入S1:";cin>>S1;GetInfo(S1);Translate(S1);cout<<"\\n请输入S2:";cin>>S2;Comparison(...

C++中怎样统计一个字符串中包括空格数在内的每个字符的出现次数
Z'))a[tolower(c)-'a']++;\/\/统计每个字符出现的次数,不分大小写 else if(c=='')a[26]++;} for (i = 0;i<26;i++){ printf("%c\\t:\\t%d\\n",'a'+i,a[i]);\/\/打印出每个字母出现的次数 } printf("\\t:\\t%d\\n",a[26]);\/\/空格出现的次数 getchar();return 0;

c++编程实现输入一串字符,分别统计数字字符、大、小写字母、其它字符...
遍历一次就够了,核心伪代码如下:while(没到字符串尾){ if(数字字符){数字字符数++;} else if(大写字母){大写字母数++;} else if(小写字母){小写字母数++;} else {其它字符数++;} }

C++语言输入n行字符串,分别统计每行字串中的字母、数字字符个数。
include <iostream> using namespace std; int main () { int i,n,cn,ca;char t,str[100];cin>>n;while(n--){cin>>str;i=0;cn=ca=0;while((t=str[i])!=0){if(t>='a'&&t<='z'||t>='A'&&t<='Z')++ca;else if(t>='0'&&t<='9')++cn;++i;}cout<<"字母有"...

如何用C++ 设计一个算法对字符串中每个字符出现的频率进行统计??
计算机中一个字符只占一个字节,有效的字符个数最多不超过128个,因此,可以定义一个128位的数组来存储不同字符的出现次数,用数组下标来表示相应的字符。参考代码:

相似回答