Ciao,ho scritto questo programma che fa uso di un ciclo:
codice:
#include <stdio.h>
main()
{
int i,n,num,cont_d,cont_c,cont_m;
printf("\nRICERCA DEI VALORI 10,100 E 1000 ALL'INTERNO DI UN INSIEME DI NUMERI\n");
printf("\nNumero di interi: ");
scanf("%d",&n);
cont_d=0;
cont_c=0;
cont_m=0;
for(i=0;i<n;i++) {
printf("Inserisci un numero intero: ");
scanf("%d",&num);
if (num==10) cont_d++;
if (num==100) cont_c++;
if (num==1000) cont_m++;
}
printf("\nIl valore 10 é stato inserito %d volt%c.",cont_d,(cont_d==1) ? 'a' : 'e');
printf("\nIl valore 100 é stato inserito %d volt%c.",cont_c,(cont_c==1) ? 'a' : 'e');
printf("\nIl valore 1000 é stato inserito %d volt%c.\n\n",cont_m,(cont_m==1) ? 'a' : 'e');
}
Se pero' per sbaglio digito in modo sbagliato,accade che un valore viene conteggiato piu delle volte digitate, invece che uscire un semplice errore.Come mai?E come si puo fare per riportare le cose alla logica?
codice:
RICERCA DEI VALORI 10,100 E 1000 ALL'INTERNO DI UN INSIEME DI NUMERI
Numero di interi: 4
Inserisci un numero intero: 1000
Inserisci un numero intero: 1000
Inserisci un numero intero: q
Inserisci un numero intero:
Il valore 10 é stato inserito 0 volte.
Il valore 100 é stato inserito 0 volte.
Il valore 1000 é stato inserito 4 volte.