Seguimos con las practicas con arrays en C y ahora tocaba hacer otro de los típicos programas que se piden, el de averiguar si el número introducido es Capicua o no. Para ello, introducimos un número en un array y cuando queramos terminar de introducir números ponemos un número negativo. Por ejemplo el número 1221 es capicua porque tanto los extremos (posición 1 y 4) como los del centro (posición 2 y 3) son iguales entre sí.
#include <stdio.h>
void inicializar(int *unarray, int lalong);
#define N 10
void main() {
int iFirst, iEnd, resta, sw=0;
int unarray[N];
int i=0;
inicializar(unarray, N);
printf("Para terminar coloque un numero negativo o introduzca 10 numeros...\n");
do {
printf("Introduce el numero para %d casilla: ",i+1);
scanf("%d", &unarray[i]);
i++;
} while (unarray[i-1] >= 0 && i < N);
iEnd = i - 1;
resta = iEnd / 2;
if (iEnd % 2 == 0) {
for(i=0;i<resta;i++) {="" if(unarray[i]="=" unarray[iend-i-1])="" sw++;="" }="" else="" printf("el="" numero="" es="" impar.\n");="" if="" (sw="=" resta)="" capicua.\n");="" no="" void="" inicializar(int="" *unarray,="" int="" lalong)="" cont;="" for="" (cont="0;cont<lalong;cont++)" unarray[cont]="0;" }<="" code=""></resta;i++)>
Descargar: CÓDIGO FUENTE