0
已采纳
主函数之外
struct haha{
int b=0,xh;
string t;
}c[122];
int cmp(const haha& a,const haha& b)
{
if(a.b!=b.b) return a.b>b.b;
return a.xh<b.xh;
}
核心部分
string a,max_str;
int n,max_ans,key,j=0;
cin>>n;
if(n==0) return 0;
cin>>a[0];
for(int i=1;i<n;i++){
cin>>a[i];
if(a[i]==a[i-1]) {
c[j].b++;
c[j].t=a[i];
if(i==n-1) c[j].b++;
c[j].xh=j;
}
else if(c[j].b>=1){
c[j].b++;
j++;
}
}
sort(c+0,c+100,cmp);
cout<<c[0].b <<endl<<c[0].t<<endl;
1
for (int i=0; i<n; i++)
{
cin>>a[i];
}
for (int i=0; i<n+1; i++)
{
if (a[i]==a[i+1])
{
h++;
if (h>zs)
{
zs=h;
zf=a[i];
}
}
else
h=1;
1
先把输入用字符串s存放
定义
int ans=0,t=1;
char ans_ch;
从第二个字母开始循环
{
如果s[i]==s[i-1]那么t++;
否则,如果t>ans
ans=t;
ans_ch=s[i-1];
}
最后输出ans和ans_ch即可
cout<<ans<<endl<<ans_ch<<endl;
0
0
int n,h=1,zs=1;
cin>>n;
char a[255];
char zf=a[0];
for (int i=0; i<n; i++)
{
cin>>a[i];
}
for (int i=0; i<n+1; i++)
{
if (a[i]==a[i+1])
{
h++;
if (h>zs)
{
zs=h;
zf=a[i];
}
}
else
h=1;
}
cout<<zs<<endl;
cout<<zf<<endl;
0
0
