) N_(x)
#define N_(x) #x
char find_major( char * );
void count( int [] , char * ) ;
unsigned be_most( int [], unsigned );
int main( void )
{
int T ;
puts("行数?");
scanf("%d" , &T);
if ( ! ( 0 < T && T < 25 ) )
return 1;
while ( T -- > 0 )
{
char s[ MAX_LEN ];
scanf("%"N(S_LEN)"s" , s );
printf("%c\n" , find_major( s ) );
}
return 0;
}
char find_major( char * s )
{
int num[ 'z' - 'a' + 1 ] = { 0 } ;
count( num , s ) ; //统计字母个数
return 'a' + be_most( num , sizeof num / sizeof num[0] );//返回出现最多字符
}
void count( int num[] , char * s )
{
while ( *s != '\0' )
num[ * s ++ - 'a' ] ++ ;
}
unsigned be_most( int a[] , unsigned n )
{
unsigned max = 0u ;
unsigned i ;
for ( i = 1u ; i < n ; i ++ )
if ( a[max] < a[i] )
max = i ;
return max ;//最大值元素下标
}