適合初步練習PAT乙級 (1042 字元統計

2021-10-02 11:54:25 字數 1643 閱讀 6627

請編寫程式,找出一段給定文字**現最頻繁的那個英文本母。

輸入格式:

輸入在一行中給出乙個長度不超過 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 分別是正確的密碼和系統允許嘗試的次數。隨後每行給出乙個以...