
Solução em C do Problema 5
#include <stdio.h>
#include <math.h>
int main() {
float
a, b, c, /* coeficientes da equacao */
delta, rdelta,
parte_real, /* parte real das raizes */
parte_imaginaria, /* parte imaginaria das raizes */
raiz1, raiz2; /* raizes, caso sejam reais */
int
raizes; /* indica de que tipo sao as raizes */
printf("\n\tCalculo das raizes da equacao ax^2+bx+c=0\n");
printf("\nDigite os numeros a, b e c: ");
scanf("%f %f %f",&a, &b, &c);
/* calculo do delta da equacao */
delta = b*b-4*a*c;
if (delta > 0) {
/* a equacao tem raizes reais */
rdelta = sqrt(delta);
raiz1 = (-b+rdelta)/(2*a);
raiz2 = (-b-rdelta)/(2*a);
printf("Raizes reais\n");
printf("Raiz 1: %f\n", raiz1);
printf("Raiz 2: %f\n", raiz2);
}
else if (delta < 0) {
/* a equacao tem raizes complexas */
rdelta = sqrt(-delta);
parte_real = -b/(2*a);
parte_imaginaria = delta/(2*a);
printf("Raizes complexas\n");
printf("Parte real: %f\n", parte_real);
printf("Parte imaginaria: %f\n", parte_imaginaria);
}
else {
/* a equacao tem raiz dupla */
printf("Raiz dupla: %f\n", -b/(2*a));
}
return 0;
}
História
da Computação | Listas de
Exercícios | Problemas Resolvidos | macmulti@ime.usp.br