#include<iostream>
#include<map>
#include<string>
#include<ctype.h>
using namespace std;
int main()
{
string str;
cout<<"请输入一个字符串:"<<endl;
while(cin>>str)
{
map<int,int>my;
for(int i=0;i<str.length();i++)
if('A'<=str[i]&&str[i]<='Z')
{
str[i]=tolower(str[i]);
my[i]=1;
}
int num=0,maxc=0;
for(int n=2;n<str.length()+1;n++)
{
int count=0;
for(int i=0;i<str.length()-n+1;i++)
{
string s=str.substr(i,n);
bool flag=true;
for(int j=0;j<s.length()/2;j++)
if(s[j]!=s[s.length() -1-j])
{
flag=false;
break;
}
if(flag)
count++;
}
if(count>0)
{
num=n;
maxc=count;
}
}
cout<<num<<" "<<maxc<<endl;
}
}
夏令营
#include<iostream>
#include<vector>
#include<map>
#include<cmath>
using namespace std;
int main()
{
string str;
cout<<"请输入任意个整数:"<<endl;
while(getline(cin,str))
{
if(str=="0000")
break;
map<int,int>my;
int st=0,end=0,num,max=-1,flag;
string s;
for(int i=0;i<str.length();i++)
{
if(str[i]==',')
{
num=0;
end=i;
s=str.substr(st,end-st);
for(int j=0;j<s.length();j++)
num+=(s[j]-'0')*pow(10,s.length()-1-j);
my[num]++;
// cout<<num<<" "<<my[num]<<endl;
if(my[num]>=max)
{
max=my[num];
flag=num;
}
st=i+1;
}
}
s=str.substr(st,str.length()-st);
num=0;
for(int j=0;j<s.length();j++)
num+=(s[j]-'0')*pow(10,s.length()-1-j);
my[num]++;
// cout<<num<<" "<<my[num]<<endl;
if(my[num]>=max)
{
max=my[num];
flag=num;
}
if(max==1)
cout<<"-1"<<endl;
else
cout<<flag<<endl;
cout<<"请输入任意个整数:"<<endl;
}
return 0;
}
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
cout<<"请输入一个字符串:"<<endl;
while(cin>>str)
{
if(str=="0000")
break;
string str1,str2,temp;
int count=0;
for(int i=1;i<=str.length();i++)
{
str1=str.substr(0,i);
str2=str.substr(i,str.length()-i);
temp=str2+str1;
if(str==temp)
count++;
}
cout<<count<<endl;
cout<<"请输入一个字符串,0000为程序结束标志"<<endl;
}
return 0;
}