为了账号安全,请及时绑定邮箱和手机立即绑定

如何纪录字符串中字母出现的字数

如何纪录字符串中字母出现的字数

C++
你好多少钱 2016-11-19 19:28:51
比如 aabxdfdddda: 2  b:1d:5f :1
查看完整描述

3 回答

?
请输入你的用户名

TA贡献7条经验 获得超1个赞

#include<iostream>
using namespace std;

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

	int count[26] = { 0 }, i, s_i; // 统计26个字母出现的次数

	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; // 输出
		}
	}
}


查看完整回答
1 反对 回复 2016-11-19
?
慕容5123895

TA贡献4条经验 获得超1个赞

#include<iostream>

#include<string>

using namespace std;


int main()

{

    cout << "请输入字符串:" << endl;

    string s;

    getline(cin, s);

    int count = s.size();

    char letter[26] = { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' };

    for (int i = 0; i < 26; i++)

    {

            int num = 0;

            for (int j = 0; j < count; j++)

            {

                    if (s[j] == letter[i])

                    {

                                num++;

                    }

            }

            if (num > 0)

            {

                    cout << letter[i] << ":" << num << endl;

            }

            num = 0;

        }


        system("pause");

        return 0;

}


查看完整回答
反对 回复 2016-11-21
  • 3 回答
  • 0 关注
  • 1309 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信