#include<bits/stdc++.h>
using namespace std;
int ch[26];
int main()
{
string s;
cin>>s;
int i,dt=0,d;
int index;
int max=-1;
for( int i = 0; i < s.size() ; i++ )
{
ch[s[i]-'a'+1]++;
}
for(i=0;i<26;i++)
{
if(ch[i]>=max)
{
max=ch[i];
index=i;
}
}
printf("%c",index+'a'-1);
return 0;
}
//输入 一个字符串,长度小于 100000。 输出 输出最后一个出现次数最多的字符。 样例输入 abcabd 样例输出 b
参考:
#include<stdio.h>
#include<string.h>
int main()
{
void number(char *p);
char str[100];
int n;
scanf_s("%d", &n);
getchar();
while(n--)
{
gets(str);
number(str);
}
return 0;
}
void number(char* p)
{
int num = 0, max;
char s[] = { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' };
int a[26] = {0};
while (*p != '\0') //字符串的结束符号位"\0"
{
for (int i = 0; i < 26; i++)
{
if (*p == s[i] || *p == (s[i] - 32))
a[i]++;
}
p++;
}
max = a[0];
for(int i=0;i<26;i++)
if (a[i] >= max)
{
num = i;
max = a[i];
}
printf("%c\n", s[num]);
}