Lenguaje de programación ANSIC C, C++
Enunciado del ejercicio resuelto en lenguaje de programación C: realizar un programa que pida el número de valores a calcular y pida los valores (numéricos). Debe calcular (utilizando funciones) el máximo valor, el mínimo valor, la media de todos los valores y la semisuma (media del mínimo y el máximo).
El ejercicio resuelto (solución) en ANSI C:
#include <stdio.h>
#define tamano 20
double media (double*, int);
double maximo (double*, int);
double minimo (double*, int);
double semisuma (double, double);
void main(void)
{
double vector[tamano];
int numeroValores, i;
printf("Introduzca el número de valores a calcular:\n");
printf("(el número debera ser menor de 20): ");
scanf("%d", &numeroValores);
printf("\n");
printf("Introduce los %d valores numéricos:\n", numeroValores);
for (i = 0; i < numeroValores; i++)
{
printf("Valor %d: ", i + 1);
scanf("%lf", &vector[i]);
}
printf("\n");
printf("media= %5.2lf \n", media (vector, numeroValores));
printf("maximo= %5.0lf \n", maximo (vector, numeroValores));
printf("minimo= %5.0lf \n", minimo (vector, numeroValores));
printf("semisuma= %5.2lf \n", semisuma (maximo(vector, numeroValores), minimo(vector, numeroValores)));
}
double media (double* valores, int num)
{
double suma=0.0, med;
int i;
for (i = 0; i < num; i++)
suma += valores[i];
med = suma / num;
return (med);
}
double minimo (double* valores, int num)
{
int i;
double min;
min = valores[0];
for (i = 1; i < num; i++)
if (valores[i] < min)
min = valores[i];
return (min);
}
double maximo (double* valores, int num)
{
int i;
double max;
max = valores[0];
for (i = 1; i < num; i++)
if (valores[i] > max)
max = valores[i];
return (max);
}
double semisuma (double max, double min)
{
return ((max + min) / 2.0);
}
Publicado el: 2009-10-17