输入时用gets 读入空格,另外注意只有1个字符的特殊情况
#include <stdio.h>
#include <string.h>
char s[1000+5];
int main(){
freopen("in.txt","r",stdin);
gets(s);
int n = strlen(s);
int maxLen = 1;//maxLen=0就会有1个case 错误!因为对于长度为1 的输入,输出就应该为1
for(int j = 0; j < n-1; j++){//偶数
int left = j, right = j+1;
int len = 0;
while(left>=0 && right<n && s[left]==s[right]){
len+=2;
left--;
right++;
}
if(len > maxLen){
maxLen = len;
}
}
for(int j = 1; j < n-1; j++){//奇数
int left = j-1, right = j+1;
int len = 1;
while(left>=0 && right<n && s[left]==s[right]){
len+=2;
left--;
right++;
}
if(len > maxLen){
maxLen = len;
}
}
printf("%d",maxLen);
return 0;
}