Soluciones al ejercicio 103
Código de Cobac:
Código de TheZen:
Código de kasswed:
Código de Cobac:
Código [Seleccionar]
#include <stdio.h>
#include <math.h>
main()
{
float raiz=0, sol1=0, sol2=0, A=0, B=0, C=0;
printf("Siendo Ax^2+Bx+C=0\n");
printf("Escribe los valores de A, B y C separados por un espacio:\n");
scanf("%f %f %f", &A, &B, &C);
if(A == 0)
{
sol1= (-C)/B;
printf("El valor de X es %.2f\n", sol1);
}
else if(B == 0)
{
raiz = (-C)/A;
if(raiz < 0)
printf("ERROR, raiz negativa");
else
{
raiz = sqrt(raiz);
printf("Los valores de X son %.2f y %.2f\n\n", raiz, -raiz);
}
}
else if(C == 0)
{
sol1 = (-B)/A;
printf("Los valores de X son 0 y %.2f\n\n", sol1);
}
else
{
raiz = pow(B,2)-4*A*C;
if(raiz < 0)
printf("ERROR, raiz negativa");
else
{
raiz = sqrt(raiz);
sol1 = (-B+raiz)/(2*A);
sol2 = (-B-raiz)/(2*A);
printf("Los valores son:\nx=%.2f y x=%.2f", sol1, sol2);
}
}
getchar();
getchar();
}
Código de TheZen:
Código [Seleccionar]
/*
Ejercicio 103: Escribir un programa que solicite tres números reales A, B y C
y calcule Ax2+Bx+C=0
Estado: Terminado
*/
#include <stdio.h>
#include <math.h>
main()
{
float A,B,C;
float D, raiz, B2;
float x1, x2;
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n");
printf(" ~ Programa que calcula la ecuacion: ~ \n");
printf(" ~ Ax2+Bx+C=0 ~ \n");
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n\n");
printf(" - Escribe A: ");
scanf("%f",&A);
printf(" - Escribe B: ");
scanf("%f",&B);
printf(" - Escribe C: ");
scanf("%f",&C);
B = 0 - B;
B2 = B*B;
raiz = B2 - 4 * A * C;
if( raiz < 0 )
{
printf("[!] No tiene solucion porque no se puede hacer la raiz cuadrada de un numro negativo.\n");
exit( 1 );
}
raiz = sqrt( raiz );
D = 2*A;
x1 = (B + raiz) / D;
x2 = (B - raiz) / D;
printf(" +------------------+ \n");
printf(" x1 = %f \n",x1);
printf(" x2 = %f \n",x2);
printf(" +------------------+ \n");
getchar();
}
Código de kasswed:
Código [Seleccionar]
#include <stdio.h>
#include <math.h>
main()
{
float A, B, C, res1,res2, raiz1, raiz2;
printf("Introduce A: ");
scanf("%f", &A);
fflush(stdin);
printf("\nIntroduce B: ");
scanf("%f", &B);
fflush(stdin);
printf("\nIntroduce C: ");
scanf("%f", &C);
raiz1 = pow(B,2)-(4*A*C);
if ( raiz1 < 0){
printf("\nLa raiz es negativa, el programa no puede continuar.");
getchar();
getchar();
}
else {
raiz2 = sqrt(pow(B,2)-(4*A*C));
res1 = (0-B + raiz2) / (2*A);
printf("\nx = %f", res1);
res2 = (0-B - raiz2) / (2*A);
printf("\nx = %f", res2);
getchar();
getchar();
}
}