1042 字元統計

2021-08-04 20:32:12 字數 900 閱讀 1799

原題描述:

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

輸入格式:

輸入在一行中給出乙個長度不超過1000的字串。字串由ascii碼表中任意可見字元及空格組成,至少包含1個英文本母,以回車結束(回車不算在內)。

輸出格式:

在一行中輸出出現頻率最高的那個英文本母及其出現次數,其間以空格分隔。如果有並列,則輸出按字母序最小的那個字母。統計時不區分大小寫,輸出小寫字母。

輸入樣例:

this is a ****** test.  there are numbers and other symbols 1&2&3...........
輸出樣例:
e 7
總體思路很簡單,一開始打算把所有的字母都變為小寫,然後乙個乙個讀入,開乙個陣列儲存每乙個小寫字母的個數,最後按照從a開始比較次數最多的那個字母。

或者更直接開乙個int[26] 記錄字母出現次數。找最大值的時候從後往前找,找到的就是最大值中字母序最小的。

#include #include int main ( )

, i , max ;

while ( ( c = getchar ( ) ) != '\n' )

if ( isalpha ( c ) )

a [ tolower ( c ) - 'a' ] ++ ;

for ( i = 25 ; i >= 0 ; i -- )

if ( a [ i ] >= a [ max ] )

max = i ;

printf("%c %d",max + 'a' , a [ max ] );

return 0;

}

這個思路更清晰,而且更簡潔。

1042 字元統計

請編寫程式,找出一段給定文字中出現最頻繁的那個英文本母。輸入格式 輸入在一行中給出乙個長度不超過1000的字串。字串由ascii碼表中任意可見字元及空格組成,至少包含1個英文本母,以回車結束 回車不算在內 輸出格式 在一行中輸出出現頻率最高的那個英文本母及其出現次數,其間以空格分隔。如果有並列,則輸...

1042 字元統計

題目是pat乙級 思路 分類統計 注意 大小寫是同乙個字元 訓練目的 字元陣列 迴圈 題目描述 請編寫程式,找出一段給定文字中出現最頻繁的那個英文本母。輸入格式 輸入在一行中給出乙個長度不超過1000的字串。字串由ascii碼表中任意可見字元及空格組成,至少包含1個英文本母,以回車結束 回車不算在內...

1042 字元統計

題目資訊 請編寫程式,找出一段給定文字中出現最頻繁的那個英文本母。輸入格式 輸入在一行中給出乙個長度不超過1000的字串。字串由ascii碼表中任意可見字元及空格組成,至少包含1個英文本母,以回車結束 回車不算在內 輸出格式 在一行中輸出出現頻率最高的那個英文本母及其出現次數,其間以空格分隔。如果有...