Average Value (Extended)

#include <stdio.h>

/*

Acquisisci 20 numeri e restituisci la loro media

Versione Estesa: ciclo di acquisizione + ciclo di somma + valori salvati in un array

*/

#define NUM 20

void main (){

int i;

int vet[NUM];

float sum, avg; // anche sum deve essere di tipo float perchè il se nella divisione sum/i entrambe le variabili sono di tipo int il risultato sarà di tipo int anche se salvato in una variabile avg di tipo float.

for(i = 0; i < 20; i++){

printf(“Inserisci il numero %d dell’array: “, i + 1); //Prestare attenzione a scrivere i + 1 e non i++. Il primo comando non altera la variabile di controllo del ciclo i mentre il secondo la incrementa sfalsando il ciclo Nota la presenza dello spazio a fine stringa utile nell’esecuzione

scanf(“%d”, &vet[i]);

}

sum = 0;

for (i = 0; i < NUM; i++)

sum = sum + vet[i];

avg = sum / i; // i dopo l’ultimo incremento vale proprio 20 ed è quindi il divisore. Questo perchè nell’ultima iterazione il valore di i era 19 (gli indici dell’array per 20 ‘caselle’ vanno da 0 a 19) essendo posizionati sull’ultimo valore dell’array. Dopo questo la i viene incrementata e si esce dal ciclo.

printf(“La media dei valori inseriti e’ %f”, avg);

}

Share:
  • Print
  • Facebook
  • Google Bookmarks
  • Google Buzz
  • Twitter
This entry was posted in C-trial, InfoLearn. Bookmark the permalink.

Comments are closed.