0
0
已采纳
张睿杰
初级天翼
初级天翼
您好 刘振波
首先是定义
string s;
int i,num=0,max=0,n;
char f;
然后是输入 额,直接输入n和s
接下来就是循环了
for (i=0;i<n;i++)
{
num=1;
while (s[i]==s[i+1])
{
num++;
i++;
}
if (num>max)
{
max=num;
f=s[i];
}
}
这个部分很长哦
最后一步只要输出就行了,太简单,不发给你了
输出max和f就行了
1
颜咏春
中级光能
中级光能
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++; }
0
臧启亚
初级光能
初级光能
核心部分
for (int i=0; i<n; i++)
cin>>a[i];
for (j=0; j<n-1; j++)
{
if (a[j]==a[j+1]) h++;
else if (h>zs)
{
zs=h;
zf=a[j];
h=1;
}
}
if(a[j]==a[n]) h++;
else if (h>zs)
{
zs=h;
zf=a[j];
h=1;
}
cout<<zs<<endl;
cout<<zf<<endl;
0
栾峻岩
初级天翼
初级天翼
if (a[i]==a[i+1])
{
num++;
if (num>max)
{
max=num;
max2=a[i];
}
}
else
num=1;
输出max和max2
栾峻岩在2018-02-01 19:40:03追加了内容
别忘了头文件:
#include <string>
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
陆姗姗
资深守护
资深守护
以下ans为最多次数的字母,ansnum为最多次数,num为当前字母的次数,c为当前字母
对字母序列的处理:
① 对于第一个字母,记录下来为ans,此时数量为1
② 对于后面的每个字母,如果和前一个字母相同,则num++,如果和前一个字母不相同,则判断现在已经记录的num的数量和当前的ansnum的比较,如果num>ansnum的话则把ans替换为c[i-1],ansnum替换成num,替换后把num的值赋值为1(num=1的过程需要仔细想想为什么)
③ 当i==n的时候再次判断num和ans的关系,和上面的比较的过程一样,如果num>ansnum的话则替换,否则不用替换
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; }
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; }
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; }
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