Programme en C : équation second degré
Résolu
berlingo-48
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
Cool -
Cool -
Bonjour,
je viens de réaliser un programme en c qui traite une équation du seconde degré, et j'ai besoin d'une correction s'ils vous plaît.
Le programme est :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
double a=0,b=0,c=0, delta=0;
double rst1=0, rst2=0, rst3=0 ;
printf("Entrer une valeur pour a : ");
scanf("%ld", &a);
printf("Entrer une valeur pour b : ");
scanf("%ld", &b);
printf("Entrer une valeur pour c : ");
scanf("%ld", &c);
if (a==0){
if (b==0) {
if (c==0) {
printf("tout reel est solution") ;}
else {
printf("il n'y a pas de solution"); }
else {
rst1 = -c/b ;
printf("la solution est %ld", rst1);}
else {
delta = b*b - 4*a*c ;
if (delta < 0) {
printf("il n'y a pas de solution dans les reels");}
else {
rst2 = (-b + sqrt(delta))/ (2*a) ;
rst3 = (-b - sqrt(delta))/ (2*a) ;
printf("il y deux solutions egales a %ld et %ld", rst2, rst3) ; }
system("PAUSE");
return 0;
}
Merci d'avance
je viens de réaliser un programme en c qui traite une équation du seconde degré, et j'ai besoin d'une correction s'ils vous plaît.
Le programme est :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
double a=0,b=0,c=0, delta=0;
double rst1=0, rst2=0, rst3=0 ;
printf("Entrer une valeur pour a : ");
scanf("%ld", &a);
printf("Entrer une valeur pour b : ");
scanf("%ld", &b);
printf("Entrer une valeur pour c : ");
scanf("%ld", &c);
if (a==0){
if (b==0) {
if (c==0) {
printf("tout reel est solution") ;}
else {
printf("il n'y a pas de solution"); }
else {
rst1 = -c/b ;
printf("la solution est %ld", rst1);}
else {
delta = b*b - 4*a*c ;
if (delta < 0) {
printf("il n'y a pas de solution dans les reels");}
else {
rst2 = (-b + sqrt(delta))/ (2*a) ;
rst3 = (-b - sqrt(delta))/ (2*a) ;
printf("il y deux solutions egales a %ld et %ld", rst2, rst3) ; }
system("PAUSE");
return 0;
}
Merci d'avance
A voir également:
- Écrire un programme qui résout une équation du second degré
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 - Meilleures réponses
- Ecrire un algorithme qui permet de resoudre ax2+bx+c=0 - Meilleures réponses
- Ecrire en gras sur whatsapp - Guide
- Programme demarrage windows - Guide
- Comment écrire # sur pc - Guide
- Écrire en majuscule - Guide
- Comment ecrire @ sur un ordinateur hp - Forum Clavier
3 réponses
tiens, je t'offre une solution plus simple!
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float x1, x2, delta, a, b, c;
printf("Entrez les valeurs des: a, b, c \n");
scanf("%f %f %f",&a, &b, &c);
delta = (b*b)-(4*a*c);
if (delta == 0.0)
{
x1 = -b /(2*a);
printf("la solution unique est xs = %.2f \n",x1);
}
if (delta > 0.0)
{
x1 = (-b - sqrt(delta))/(2*a);
x2 = (-b + sqrt(delta))/(2*a);
printf("les deux racines sont : x1 = %.2f et x2 = %.2f \n",x1, x2);
}
if (delta < 0.0)
printf("l'equation n admet pas de solution");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float x1, x2, delta, a, b, c;
printf("Entrez les valeurs des: a, b, c \n");
scanf("%f %f %f",&a, &b, &c);
delta = (b*b)-(4*a*c);
if (delta == 0.0)
{
x1 = -b /(2*a);
printf("la solution unique est xs = %.2f \n",x1);
}
if (delta > 0.0)
{
x1 = (-b - sqrt(delta))/(2*a);
x2 = (-b + sqrt(delta))/(2*a);
printf("les deux racines sont : x1 = %.2f et x2 = %.2f \n",x1, x2);
}
if (delta < 0.0)
printf("l'equation n admet pas de solution");
return 0;
}
fiddy
Messages postés
11069
Date d'inscription
Statut
Contributeur
Dernière intervention
1 847
Plus simple mais moins complet...
matcho
il faut #include <math.h> pour que sqrt fonctione