06. Es. svolto: speculare
Traccia:
Scrivere un programma che riceve da tastiera un numero intero positivo di due cifre e risponde scrivendo a video la somma tra il numero inserito e il suo speculare.
In questo esercizio per speculare di un numero naturale X si intende un numero che abbia le stesse cifre di X ma in ordine opposto. Ad esempio:
54 e 45
37 e 73
Esempio di esecuzione:
Inserire un numero intero positivo di due cifre: 45
45 + 54 = 99
Strategia:
Partiamo osservando che il risultato della divisione intera 45/10 è 4, la cifra delle decine.
Inoltre, 45-(4*10) da come risultato 5, la cifra delle unità.
In generale, se x è il numero di partenza:
decine = x/10;
unita = x - (decine * 10);
Banalmente si ha che
x è uguale al numero: (decine * 10) + unita
e che
speculare_x è uguale al numero: (unita * 10) + decine
Soluzione:
#include <stdio.h>
int main()
{
int x, unita, decine, speculare_x;
printf("Inserire un numero intero positivo di due cifre: ");
scanf("%d", &x);
if (x >= 100){
printf("Il numero inserito e' troppo grande!\n");
return 1; //termina con errore
}
if (x <= 9){
printf("Il numero inserito e' troppo piccolo!\n");
return 1; //termina con errore
}
decine = x/10;
unita = x - (decine*10);
speculare_x = unita*10 + decine;
printf("%d + %d = %d\n", x, speculare_x, x + speculare_x);
return 0;
}
Sito: 7ecnologie
Sezione: 08. C language
Capitolo: 02. Introduzione al C
Paragrafo: 04. Controllo condizionale if
Approfondimento: 06. Es. svolto: speculare
Indice dei capitoli: 00. Risorse - 01 Ambiente di sviluppo - 02. Introduzione al C - 03. Le librerie - 04. Tutorial - 05. Esercizi svolti - 98. Esercizi
Indice dei paragrafi: 01. Hello World - 02. Variabile di tipo int - 03. Input da tastiera - 04. Controllo condizionale if - 05. Operatori logici - 06. Ciclo while - 07. Operatore modulo - 08. Array - 09. Ciclo for - 10. Ciclo do/while - 11. Variabili di tipo float - 12. Funzione random() - 13. Impostazione del set di caratteri - 14. Definizione di funzioni - 15. Passaggio di parametri: gli array - 16. Variabili: visibilità e durata - 17. Il tipo char - 18. I file - 19. Funzioni matematiche
Indice degli approfondimenti: 01. Es. svolto: multiplo - 02. Es. svolto: minori di 10 - 03. Es. svolto: min e max - 04. Es. svolto: ordine crescente - 05. Es. svolto: cifra unità - 06. Es. svolto: speculare