請編寫程式,找出一段給定文字**現最頻繁的那個英文本母。
輸入格式:
輸入在一行中給出乙個長度不超過 1000 的字串。字串由 ascii 碼表中任意可見字元及空格組成,至少包含 1 個英文本母,以回車結束(回車不算在內)。
輸出格式:
在一行中輸出出現頻率最高的那個英文本母及其出現次數,其間以空格分隔。如果有並列,則輸出按字母序最小的那個字母。統計時不區分大小寫,輸出小寫字母。
輸入樣例:
this is a ****** test. there are numbers and other symbols 1&2&3…
輸出樣例:
e 7
#include
#include
#include
using
namespace std;
intmain()
;for
(int i =
0; i < s.
length()
; i++
)for
(int i =
0; i < s.
length()
; i++)if
(islower
(s[i]
)) a[s[i]
-'a']++
;int max = a[0]
, t=0;
for(
int i =
0; i <
26; i++)}
char a =
'a'+ t;
cout << a <<
" "<< max;
return0;
}
注意getline為以換行為輸入結束,空格也為輸入;而cin以空格和換行為結束標誌,所以本題不能用cin。
附加常見的cctype:
函式名稱
返回值isalnum()
如果引數是字母數字,即字母或數字,該函式返回true
isalpha()
如果引數是字母,該函式返回真
isblank()
如果引數是空格或水平製表符,該函式返回true
iscntrl()
如果引數是控制字元,該函式返回true
isdigit()
如果引數是數字(0~9),該函式返回true
isgraph()
如果引數是除空格之外的列印字元,該函式返回true
islower()
如果引數是小寫字母,該函式返回true
isprint()
如果引數是列印字元(包括空格),該函式返回true
ispunct()
如果引數是標點符號,該函式返回true
isspace()
如果引數是標準空白字元,如空格、進紙、換行符、回車
、水平製表符或者垂直製表符,該函式返回true
isupper()
如果引數是大寫字母,該函式返回true
isxdigit()
如果引數是十六進製制的數字,即0~9、af、af,該函式返回true
tolower()
如果引數是大寫字元,則返回其小寫,否則返回該引數
toupper()
如果引數是小寫字母,則返回其大寫,否則返回該引數
適合初步練習PAT乙級 (1019) 數字黑洞
給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的 6174,這個神奇的數字也叫 kaprekar 常數。例如,我們從6767開始,將得到 7...
適合初步練習PAT乙級 (1064) 朋友數
如果兩個整數各位數字的和是一樣的,則被稱為是 朋友數 而那個公共的和就是它們的 朋友證號 例如 123 和 51 就是朋友數,因為 1 2 3 5 1 6,而 6 就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。輸入格式 輸入第一行給出正整數 n。隨後一行給出 n 個正...
適合初步練習PAT乙級 (1067) 試密碼
當你試圖登入某個系統卻忘了密碼時,系統一般只會允許你嘗試有限多次,當超出允許次數時,賬號就會被鎖死。本題就請你實現這個小功能。輸入格式 輸入在第一行給出乙個密碼 長度不超過 20 的 不包含空格 tab 回車的非空字串 和乙個正整數 n 10 分別是正確的密碼和系統允許嘗試的次數。隨後每行給出乙個以...