0
点赞
收藏
分享

微信扫一扫

一串单词找字母出现次数最多的(c++)

晚安大世界 2022-03-11 阅读 106
#include<iostream>
#include<cstdio>
#include <iomanip>
#include<cmath>
#include<string>
#include<algorithm>
#include<cctype>
using namespace std;
int main()
{
	string A;
	cin >> A;
	char a[27];//存放26个字母 字母顺序作为数组下标方便计数
	int a1[27] = { 0 };//计数
	int k = 97;//小写字母a的ASCII码值
	for (int i = 1; i <= 26; i++)//给字母数组进行赋值
	{
		a[i] = char(k);//char强制转成字符型
		k++;//依次往后加一 字母顺序是连续的
	}
	for (int j = 0; j < A.size(); j++)
	{
		for (int i = 1; i <= 26; i++)
		{
			if (A[j] == a[i])
			{
				a1[i]++;

			}
		}
	}
	int max = a1[1];
	int flag = 1;//记录下标 flag  不能等于0!
	for (int c = 1; c <= 26; c++)
	{

		if (a1[c] > max)
		{
			max = a1[c];
			flag = c;
			
		}
		
		 if(a1[c]==max)
		{ 
			 
			 if (c < flag)
			 {
				
				 max = a1[c];
				 flag = c;
			 }
			
		}
	}
	
	cout << a[flag] << endl;
	cout << max;
		return 0;
}
举报

相关推荐

0 条评论