/* File: invertin.c */ /* Time-stamp: "2001-03-27 00:56:15 calvanes" */ /* Scopo: esempio di funzione ricorsiva */ /* Inverte le cifre di un numero intero usando una funzione ricorsiva ed una iterativa. */ #include <stdio.h> void invertiRicorsiva(long n) /* Inverte le cifre di un numero intero. Versione ricorsiva. */ { printf("%d", n % 10); if (n / 10 != 0) invertiRicorsiva(n / 10); } /* invertiRicorsiva */ void invertiIterativa(long n) /* Inverte le cifre di un numero intero. Versione iterativa. */ { do { printf("%d", n % 10); n /= 10; } while (n != 0); } /* invertiIterativa */ int main(void) { long numero; printf("Scrivi un numero intero non negativo: "); scanf("%ld", &numero); printf("Numero invertito con funzione ricorsiva: "); invertiRicorsiva(numero); printf("\nNumero invertito con funzione iterativa: "); invertiIterativa(numero); putchar('\n'); return 0; } /* main */