1
« en: Lunes 25 de Febrero de 2008, 23:11 »
Hola, estoy creando un programa sencillo en C para averiguar la fórmula de las ecuaciones de segundo grado completas que sería la siguiente: (-b + sqrt(b*b - 4*a*c))/(2*a)
El código que estoy escribiendo es el siguiente:
#include <stdio.h>
#include <math.h>
int main(void)
{
int a;
int b;
int c;
double r;
printf("Introduzca el valor de a: ");
fflush(stdout);
scanf("%d", &a);
printf("Introduzca el valor de b: ");
fflush(stdout);
scanf("%d", &b);
printf("Introduzca el valor de c: ");
fflush(stdout);
scanf("%d", &c);
r = (-b + sqrt(b*b - 4*a*c))/(2*a);
printf("%f\n", r);
return 0;
}
Sólo estudio C por diversión y tengo el siguiente problema: He definido 3 variables int y una double, por lo tanto el resultado se convertirá en un double, pero en main he incluído una función int, entonces el resultado se convertirá en un número entero, ¿no es así?
Lo que quiero es que el resultado sea lo más preciso posible, por lo tanto, me conviene que el resultado tenga decimales, requisito que no se cumple con int, necesitaré que el resultado sea expresado en double. ¿Alguien sabe como hacerlo?