Università degli Studi di Brescia
Fondamenti di Programmazione
Docente: Alessandro Saetti
A.A. 2012/2013
ESERCITAZIONE STRUTTURE DI
CONTROLLO E VETTORI
Università degli Studi di Brescia
A.A. 2012/2013
Scrivere un programma C che
- Acquisisca da tastiera un numero intero positivo n, ripetendo
l’acquisizione qualora il numero fosse negativo o superiore a 1023.
- Stampi a video la conversione di n in base 2. (Suggerimento:
Utilizzare un vettore per memorizzare i resti delle divisioni.).
Scrivere un programma C che
- Acquisisca da tastiera un numero intero positivo n, ripetendo
l’acquisizione qualora il numero fosse negativo o superiore a 1023.
- Stampi a video la conversione di n in base 2. (Suggerimento:
Utilizzare un vettore per memorizzare i resti delle divisioni.).
#include <stdio.h>
#include <stdlib.h>
int main()
{
// . . .
Impostiamo la solita struttura di
partenza di un programma C
system("pause");
return(0);
}
Scrivere un programma C che
- Acquisisca da tastiera un numero intero positivo n, ripetendo
l’acquisizione qualora il numero fosse negativo o superiore a 1023.
- Stampi a video la conversione di n in base 2. (Suggerimento:
int n;
Utilizzare un vettore per memorizzare i resti delle divisioni.).
do {
printf(“Digita un intero >=0: ");
scanf("%d",&n);
} while (n<0 || n>1023);
Ripeto finché i valori digitati sono
esterni all’intervallo [0,1023]
Scrivere un programma C che
- Acquisisca da tastiera un numero intero positivo n, ripetendo
l’acquisizione qualora il numero fosse negativo o superiore a 1023.
- Stampi a video la conversione di n in base 2. (Suggerimento:
Utilizzare un vettore per memorizzare i resti delle divisioni.).
Estraggo la sequenza di resti
della divisione per 2 e li
memorizzo in un array
int i=0;
int digit[10];
do {
digit[i]=n % 2;
n=(n-digit[i])/2;
i++;
} while (n > 0);
for (i--;i>=0 ; i--)
printf("%d",digit[i]);
Scarica

Eser 1.5