㊀题目
时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。
【输入】
输入包含一行,一个字符串,长度不超过1000。
【输出】
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一 个空格分开。如果有多个字符出现的次数相同且最多,那么输出 ascii码最小的那一个字符。
【输入样例】
abbccc
【输出样例】
c 3
㊁讲解
储存每个字母出现的次数,最后从中选取最大值
㊂代码展示
#include <cstdio>
#include <cstring>
struct sdbus
{
char a = 0;
int b = 0;
};
sdbus play( char*words )
{
int i = 0,
maxchar = 0;
int len = strlen( words );
int wordnum[27] = {0};
while( i < len )
{
wordnum[ words[i] - 'a' ]++;
i++;
}
i = 0;
sdbus shudubus;
while( i < 26 )
{
if( wordnum[i] > shudubus.b ) shudubus.b = wordnum[i], shudubus.a = i+'a';
i++;
}
return shudubus;
}
int game()
{
char words[1001] = {0};
scanf( "%s", words );
sdbus shudubus;
shudubus = play( words );
printf( "%c %d", shudubus.a, shudubus.b );
}
int main( int argc, char **argv )
{
game();
}
㊃其他
1 更新
敬请期待
2 声明
请合理使用本文章中的代码,并仅供学习使用,所造成后果本人概不负责。代码欢迎在不篡改的情况下自由传播。
最后,感谢读者们的支持