average.c en C
Un programa completo: leer números de un archivo, promediarlos, manejar las fallas.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char **argv) {
if (argc < 2) {
fprintf(stderr, "usage: %s N [N ...]\n", argv[0]);
return 1;
}
double sum = 0.0, sumsq = 0.0;
int n = argc - 1;
for (int i = 1; i < argc; i++) {
double value = strtod(argv[i], NULL);
sum += value;
sumsq += value * value;
}
double mean = sum / n;
double variance = sumsq / n - mean * mean;
printf("count: %d\n", n);
printf("mean: %.3f\n", mean);
printf("stdev: %.3f\n", sqrt(variance > 0 ? variance : 0));
return 0;
}
Palabras clave y builtins usados aquí
NULLchardoubleforifintreturn
El intento, en números
- Líneas
- 23
- Caracteres a escribir
- 525
- Tokens
- 166
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 100 segundos.
Paso 1 de 3 en Bis; paso 33 de 35 en Fundamentos del lenguaje.