ME ha entrado morriña de C, y además me ha servido para des-oxidarme Espero que te sirva...
#include <stdio.h>
#include <string.h>
#include <conio.h>
int palindromo(char[]);
void main()
{
char palabra[11];
char recorte[11];
int i, longitud, pal, j;
do{
system("cls");
printf("\n\t\t\tPALINDROMEITOR");
printf("\n\n\t\t\nIntroduce una cadena de 10 caracteres\n\n-->\t");
gets(palabra);
}while(strlen(palabra)!=10);
printf("\n\n\t");
//Comprobamos si TODO es un palíndromo
if(palindromo(palabra)==0)
printf("\n\tTODA la cadena es un palíndromo");
else
{
//Comprobamos todas las posibilidades de 8 caracteres que son 3
j=0;
while(j<3 && palindromo(recorte)!=0)
{
for(i=0; i<8; i++)
recorte[i]=palabra[i+j];
recorte[i]='\0';
j++;
}
if(palindromo(recorte)==0)
printf("\nHay un palíndromo de 8 caracteres [%s] que empieza en %d y termina en %d", recorte, j-1, j-2+i);
else
{
//Comprobamos todas las posibilidades de 6 caracteres que son 5
j=0;
while(j<5 && palindromo(recorte)!=0)
{
for(i=0; i<6; i++)
recorte[i]=palabra[i+j];
recorte[i]='\0';
j++;
}
if(palindromo(recorte)==0)
printf("\nHay un palíndromo de 6 caracteres [%s] que empieza en %d y termina en %d", recorte, j-1, j+i-2);
else
printf("\n\tNO HAY NINGUN PALINDROMO DE AL MENOS 6 CARACTERES :(");
}
}
printf("\n\n\n\t\tPulsa una tecla para salir");
getch();
}
int palindromo(char recorte[])
{
int i, longitud=strlen(recorte), comando;
char palabra[longitud+1];
if(longitud>0)
{
strcpy(palabra, recorte);
for(i=0; i<longitud; i++)
palabra[i]=recorte[longitud-1-i];
palabra[longitud]=recorte[longitud];
comando=strcmp(palabra, recorte);
}
else
comando=-1;
return(comando);
}[/i]