B1042

mac2024-10-23  44

在这儿出现了问题:次数相同的话,如果有并列,则输出按字母序最小的那个字母,这儿的解决方法很巧妙!

#include<bits/stdc++.h> using namespace std; int hashtable[300]={0}; int main(){ string s; getline(cin,s); for(int i=0;i<s.length();i++){ if(isalpha(s[i]))hashtable[tolower(s[i])]++; } int max=-1; char c; /*找到出现最多(max)的字符,如果次数相同的话,如果有并列, 则输出按字母序最小的那个字母 */ for(int i='a';i<'z';i++){ if(hashtable[i]>max){ max=hashtable[i]; c=i; } } cout<<c<<" "<<max; return 0; }
最新回复(0)