#include <stdio.h> 
#include <string.h>
 
int es_capicua(char cadena[20]);
 
int main()
{
    long i, total=0, numero;
    char cadena[20];
 
    printf("Ingrese numero: ");
    scanf("%ld", &numero);
 
    printf("Numeros capicua: ");
    for(i=1; total<numero; i++)
    {
    sprintf(cadena, "%ld", i);
 
    if(es_capicua(cadena))
    {
        printf("%ld ", i); 
      total++;
    }
     } 
 
    fflush(stdin);
    getchar();
    return 0;
}
 
int es_capicua(char cadena[20])
{
  int i;
  char invertida[20];
 
  /* Halla la cadena invertida */
  for(i=0; i < strlen(cadena); i++)
     invertida[ i ]=cadena[strlen(cadena)-i-1];
 
  /* Coloca caracter de fin de cadena */
  invertida[ i ] = '\0';
 
  /* Realiza la comparacion */
   if(!strcmp(cadena, invertida)) 
    return 1; /* es capicua */
 
  return 0;  /* no es capicua */
}