題目描述
小藍正在學習一門神奇的語言,這門語言中的單詞都是由小寫英文字母組 成,有些單詞很長,遠遠超過正常英文單詞的長度。小藍學了很長時間也記不住一些單詞,他准備不再完全記憶這些單詞,而是根據單詞中哪個字母出現得最多來分辨單詞。
現在,請你幫助小藍,給了一個單詞后,幫助他找到出現最多的字母和這 個字母出現的次數。
輸入描述
輸入一行包含一個單詞,單詞只由小寫英文字母組成。
對於所有的評測用例,輸入的單詞長度不超過 1000。
輸出描述
輸出兩行,第一行包含一個英文字母,表示單詞中出現得最多的字母是哪個。如果有多個字母出現的次數相等,輸出字典序最小的那個。
第二行包含一個整數,表示出現得最多的那個字母在單詞中出現的次數。
輸入輸出示例
輸入
lianqiao
輸出
a
2
輸入
longlonglongistoolong
輸出
o
6
思路與注意
- 將字母的數量存儲在對應的Askii碼所在下標中,用max以及ch記錄當前數量最大的字母數量及字母
- 若數量相同,取Ask i i較小的
代碼
#include<stdio.h>
#include<string.h>
int main(){
int i,max=0;
char ch;
int a[200]={0};
char s[1000];
scanf("%s",s);
for(i=0;i<strlen(s);i++){
a[s[i]]++;
if(max<a[s[i]]){max=a[s[i]];ch=s[i];}
if(max==a[s[i]]){if(ch>s[i])ch=s[i];}
}
printf("%c\n%d",ch,max);
return 0;
}