A cura di: Administrator

Scrivere un programma in linguaggio C che, letti da tastiera 10 numeri float, stampi:

  • la media dei valori (float)
  • ciascun valore con a fianco la sua differenza rispetto alla media, i valori devono essere visualizzati in ordine inverso rispetto a quello di acquisizione

Esempio: se si introducono nell’ordine i valori:

4.1  2.0  2.9  4.8  5.2  2.8  7.3  1.7  9.0  1.5

Il programma deve stampare:

  Media = 4.13  1.5        -2.63  9.0         4.87  1.7        -2.43  ...         ...  4.1        -0.03  

Soluzione (download sorgente)

  #include <stdio.h>  #define FNUMS 10  int  main(void)  {  	int i;  	float media, totale = 0;  	float farray[FNUMS];  	for (i = 0; i < FNUMS; i++) {  		scanf("%f", &farray[i]);  		totale += farray[i];  	}  	media = totale * 1.0 / FNUMS;  	printf("Media = %.2fnn", media);  	for (i = (FNUMS - 1); i >= 0; i--)  		printf("%.1ftt% .2fn",                          farray[i], farray[i] - media);  	return 0;  }