解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <string.h>
int huiwen(char a[], int i, int j)
{
int r=i; int k=j; int n=1;
while(r<=(i+j)/2&&k>= (i + j) / 2)
{
if (a[r] != a[k])return 0;
r++;
k--;
}
return n;
}
int main()
{
int huiwen(char a[], int i, int j);
int max(int a[],int N);
char mima[500]; int len = 0;
while (scanf("%s", mima, 500) != EOF)
{
mima[499] = '\0';
if (strlen(mima) == 1)printf("1\n");
else
{
int k = 0; int r = 0;
len = strlen(mima);int mi[250]={0};
for (int i = 0; i < len; i++)
{
int b[250] = {0};
for (int j = len - 1; j > i; j--)
{
if (mima[i] == mima[j] && huiwen(mima, i, j) == 1)
{
b[k] = j - i + 1;
k++;
}
}
if (max(b, k) != 0)
{
mi[r] = max(b, k);
r++;
}
}
printf("%d\n", max(mi, r));
}
}
}
int max(int a[],int N)
{
int m =a[0];
for(int i = 1;i<N;i++)
if (m < a[i])m = a[i];
return m;
}
0.0分
5 人评分
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1750 |
C语言训练-求素数问题 (C语言代码)浏览:727 |
人见人爱A+B (C语言代码)浏览:628 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1094 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1465 |
1054题解浏览:467 |
局部变量作函数返回值的问题浏览:981 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:664 |
C二级辅导-进制转换 (C语言代码)浏览:660 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:401 |