Ritorna alla pagina del corso.
Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.
01: /*
02: leggere da tastiera un numero intero non negativo tra 0 e 15 e
03: stampare la cifra esadecimale corrispondente
04: (calcolandola, non usando gli specificatori di formato %x o %X)
05: Richiede l'uso del costrutto if()
06: */
07:
08: #include<stdio.h>
09: #include<stdlib.h>
10:
11: int main(int argc, char **argv){
12:
13: printf("Inserisci un numero decimale tra 0 e 15: "); // ci fidiamo dell'utente...
14: int x;
15: scanf("%d", &x);
16:
17: if( x < 10)
18: {
19: printf("La cifra esadecimale corrispondente a %d vale %d\n", x, x);
20: }
21: else
22: {
23: // mi calcolo il simbolo da stampare
24: char hex_digit = (x - 10) + 'A'; // f(x) tale che: 10 -> 'A', 11 -> 'B', ...
25: printf("La cifra esadecimale corrispondente a %d vale %c\n", x, hex_digit);
26: // a rigore una variabile non era necessaria potevo fare tutto nella printf()
27: }
28:
29: return 0;
30: }
31:
32: