Cours-Gratuit
  • Cours
  • Blog
home icon Cours gratuits » Cours informatique » Cours programmation » Cours langage C » Exercices C »

Exercice langage C : Résolution d'équation de deuxième degré

Participez au vote ☆☆☆☆☆★★★★★

Ecrire une fonction saisie qui permet de saisir A, B et C.

Ecrire une fonction résoudre qui permet de résoudre l'équation  AX2+ BX + C = 0 ET retourne

0 si l'équation n'a pas de solution

1 si l'équation n'a qu'une solution

2 si l'équation possède deux solutions

3 si R est l'ensemble de solutions

Ecrire une fonction affiche qui permet d'afficher pas de solution réelle si la valeur retournée par la fonction resoudre est 0 la valeur X1 si la valeur retournée par la fonction resoudre est 1 les valeurs X1 et X2 si la valeur retournée par la fonction resoudre est 2 l'ensemble de solution est R si la valeur retournée par la fonction resoudre est 3

Ecrire le programme principal qui fait appel à ces fonctions


/* Resolution d'une equation du second degre dans R */
#include
#include
/* Saisie des coefficients de l'equation */
void saisie (double *a, double *b, double *c);
/* resolution de l'equation: la valeur retournee donne le nombre de solutions,
* qui se trouvent dans *x1 et *x2, la valeur 3 indique que tout R
* est solution */
int resoudre (double a, double b, double c, double *x1, double *x2);
/* Affichage de la resolution avec la convention de la fonction resoudre */
void affiche (int v, double x1, double x2);
int main()
{
int val;
double a, b, c, x1,x2;
saisie(&a, &b, &c);
val = resoudre(a, b, c, &x1, &x2);
affiche(val, x1, x2);
return 0;
}
void saisie(double *a, double *b, double *c)
{
printf("a = "); scanf("%lf",a);
printf("b = "); scanf("%lf",b);
printf("c = "); scanf("%lf",c);
}
int resoudre(double a, double b, double c, double *x1, double *x2)
{
double delta;
if (a == 0.0)
{
if (b == 0.0)
{
if (c == 0.0)
{
return 3;
}
else
{
return 0;
}
}
else
{
*x1 = -c/b;
return 1;
}
}
else
{
delta = b*b - 4*a*c;
if (delta < 0)
{
return 0;
}
else if (delta == 0)
{
*x1 = -b / 2*a;
return 1;
}
else
{
*x1 = (-b + sqrt(delta)) / 2*a;
*x2 = (-b - sqrt(delta)) / 2*a;
return 2;
}
}
}
void affiche(int v, double x1, double x2)
{
switch(v)
{
case 0: printf("pas de solution reelle\n");
break;
case 1: printf("une seule solution: x1 = %f\n", x1);
break;
case 2: printf("deux solutions: x1 = %f et x2 = %f\n", x1, x2);
break;
case 3: printf("l\'ensemble de solutions est R\n");
break;
}
}

Contenu publié le 23 Février 2012 Mise à jour le Lundi, 07 Novembre 2022 15:23 et rédigé par BENKIRANE Fatima Ezzahra

Articles similaires

  • Exercice langage C: Programme qui calcule les solutions réelles d'une équation du second degré
  • Exercice langage C : Programme conversion et calcule Équation
  • Exercice langage C: Programmes plus complexes
  • Exercice Algorithme : Structures et Fonctions
  • Exercice langage C : Addition de deux nombres complexes
  • Exercice langage C: Fonctions et tableaux

Documents similaires

  • Support d’Introduction à l'informatique et programmation en langage C plus

  • Cours et exercices en Langage C

  • Cours d’algorithmique et Algobox

  • Débuter pas à pas en Algorithme

  • Document de cours sur python et équation différentielle

  • Langage C++ les fonction cours et exercices

  • Support de cours d’initiation a la fonction commerciale

  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Cours commerce
  • Cours électricité
  • Cours finance
  • Cours statistique
  • Cours économie
  • Cours Management
  • Cours comptabilité
  • Cours électronique
  • Cours gestion
  • Cours marketing
id 11354 02