原題描述:
請編寫程式,找出一段給定文字中出現最頻繁的那個英文本母。
輸入格式:
輸入在一行中給出乙個長度不超過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個英文本母,以回車結束 回車不算在內 輸出格式 在一行中輸出出現頻率最高的那個英文本母及其出現次數,其間以空格分隔。如果有...