文章

84

粉丝

408

获赞

31

访问

831.6k

头像
字母频率(c++)
P1019 贵州大学机试题
发布于2020年3月21日 09:41
阅读数 10.7k

注意:最多的字符可能不止一个

#include<iostream>
#include<cstring>
using namespace std;
const int M = 1024;
int main()
{
	char line[M];
	cin.getline(line, M);
	int a[30];//将字母映射到0-25,从而保存出现的次数 
	memset(a, 0, sizeof(a));//初始化 
	int i = 0;
	while (line[i]) {
		if (line[i] >= 'a' && line[i] <= 'z')
			a[line[i]-'a']++;
		else if (line[i] >= 'A' && line[i] <= 'Z')
			a[line[i]-'A']++;
		i++;
	}
	int num = -1;//最多字符的序号 
	for (i = 0; i < 26; i++) {
		if (a[i] > a[num])
			num = i;
	}
	for (i = num; i < 26; i++) {
		if (a[i] == a[num]) {
			char ch = 'a' + i;
			cout << ch << " " << a[i] << endl;
		}
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发