藍橋杯—單詞分析(C語言解法)


題目描述

小藍正在學習一門神奇的語言,這門語言中的單詞都是由小寫英文字母組 成,有些單詞很長,遠遠超過正常英文單詞的長度。小藍學了很長時間也記不住一些單詞,他准備不再完全記憶這些單詞,而是根據單詞中哪個字母出現得最多來分辨單詞。
現在,請你幫助小藍,給了一個單詞后,幫助他找到出現最多的字母和這 個字母出現的次數。

輸入描述

輸入一行包含一個單詞,單詞只由小寫英文字母組成。
對於所有的評測用例,輸入的單詞長度不超過 1000。

輸出描述

輸出兩行,第一行包含一個英文字母,表示單詞中出現得最多的字母是哪個。如果有多個字母出現的次數相等,輸出字典序最小的那個。
第二行包含一個整數,表示出現得最多的那個字母在單詞中出現的次數。

輸入輸出示例

輸入

lianqiao

輸出

a
2

輸入

longlonglongistoolong

輸出

o
6

思路與注意

  1. 將字母的數量存儲在對應的Askii碼所在下標中,用max以及ch記錄當前數量最大的字母數量及字母
  2. 若數量相同,取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;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM