Operación aritmetica

De Ejercicios

Contenido

Enunciado

UNA PEQUEÑA OPERACIÓN ARITMÉTICA.

Estarás pensando que C ha de servir para algo más que mantener una aburrida conversación con tu PC (¿verdadero y fiel amigo?). En el siguiente programa te presentamos un avance de las "complicadas" operaciones que puede realizar el lenguaje C.

Escribe el programa y sálvalo como marathon.c.

Compila el programa y ejecútalo; apuntando el resultado. Después modifica el programa sustituyendo 1760.0 por 1760 en la línea que calcula el número de kilómetros. Vuelve a compilar y a ejecutar. ¿Sale lo mismo que antes? ¿Qué ha podido pasar?

Soluciones

Programa en C por Angel

Solución comentada al Ejercicio

/* fichero marathon.c */
/* Un marathon tiene 26 millas y 385 yardas. */
/* Una milla tiene 1760 yardas. */
/* Calcula la distancia del marathon en kilómetros. */
#include <stdio.h>
void main(void) {
  int millas, yardas;
  float kilometros;
  millas=26;
  yardas=385;
  kilometros=1.609*(millas+yardas/1760.0);
  printf("\nUn marathon tiene %f kilometros.\n\n", kilometros);
}

Comentario

En C las constantes que incluyen un punto decimal son de tipo double. La variable yardas es de tipo int. Si en el denominador se pone sólo 1760, el resultado de yardas/1760 es entero y por tanto incorrecto. Basta poner 1760.0 para que yardas sea promovido a double y todas las operaciones aritméticas de esa sentencia se realicen con precision double.