单词分析
题目描述
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。
一
现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。
输入描述
输入一行包含一个单词,单词只由小写英文字母组成。
对于所有的评测用例,输入的单词长度不超过 1000。
输出描述
输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最
小的那个。
第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。
输入输出样例
示例1
输入
lanqiao
输出
a
2
示例2
输入
LonglongLongistoolong
输出
o
6
运行限制
·最大运行时间:1s
·最大运行内存:256M
代码:
#include "iostream"
#include "stdio.h"
using namespace std;
int main(){
string str1;
cin>>str1;
int word[26]={0};
int along=str1.size();
for (int i1 = 0; i1 < along; i1++) {
if ('a'<=str1[i1]&&str1[i1]<='z');
else {
printf("输入不合法!");
return 0;
}
}
char sc;
for (int i1 = 0; i1 < along; i1++) {
sc=str1[i1];
switch (sc) {
case 'a':word[0]++;
break;
case 'b':word[1]++;
break;
case 'c':word[2]++;
break;
case 'd':word[3]++;
break;
case 'e':word[4]++;
break;
case 'f':word[5]++;
break;
case 'g':word[6]++;
break;
case 'h':word[7]++;
break;
case 'i':word[8]++;
break;
case 'j':word[9]++;
break;
case 'k':word[10]++;
break;
case 'l':word[11]++;
break;
case 'm':word[12]++;
break;
case 'n':word[13]++;
break;
case 'o':word[14]++;
break;
case 'p':word[15]++;
break;
case 'q':word[16]++;
break;
case 'r':word[17]++;
break;
case 's':word[18]++;
break;
case 't':word[19]++;
break;
case 'u':word[20]++;
break;
case 'v':word[21]++;
break;
case 'w':word[22]++;
break;
case 'x':word[23]++;
break;
case 'y':word[24]++;
break;
case 'z':word[25]++;
break;
default:
printf("未知错误!");
break;
}
}
int maxlong=0;
char maxword;
for (int i1 = 0; i1 <26 ; i1++) {
if (maxlong>=word[i1]);
else {
maxlong = word[i1];
maxword='a'+i1;
}
}
cout<<maxword<<endl<<maxlong<<endl;
}
结果:
asdasdfsfgdsgwefdcvxfdgwsferf
f
6
发表回复