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;
}


Lista de Problemas

História da Computação | Listas de Exercícios | Problemas Resolvidos | macmulti@ime.usp.br