01/10/2018, 17:29

Code giải phương trình bậc 2 luôn ra nghiệm kép

Em viết chương trình giải phương trình bậc hai, lúc chạy thì vẫn đúng nhưng nó lại ra kết quả không như mong muốn, nhập số nào cũng ra kết quả là “nghiệm kép = 0.00000”

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
    float a,b,c;
    float delta=(b*b)-(4*a*c);
    printf("Nhap vao he so a,b va c 
");
    printf("A=");
    scanf("%f",&a);
    printf("B=");
    scanf("%f",&b);
    printf("C=");
    scanf("%f",&c);
    if(delta==0)
    {
        float d=(-b)/(2*a);
        printf("Phuong trinh co nghiem kep x=%f
",&d);
    }
    else if(delta>0)
    {
        float e=((-b)+sqrt(delta))/(2*a);
        float f=((-b)-sqrt(delta))/(2*a);
        printf("Phuong trinh co 2 nghiem phan biet x1=%f , x2=%f
",&e,&f);
    }
    else{printf("Phuong trinh vo nghiem
");}
    return 0;
}
KieuThinh viết 19:43 ngày 01/10/2018
float a,b,c;
float delta=(bb)-(4ac);

bạn vừa mới khai báo a, b, c xong mà chưa gán giá trị gì cho nó hết, xong rồi bạn gán nó vào delta thì sai là phải rồi.

chuyển delta xuống dưới câu lệnh

scanf("%f",&c);
Chánh Huỳnh viết 19:45 ngày 01/10/2018

à dạ. cám ơn anh nhiều lắm ạ

Vuio viết 19:40 ngày 01/10/2018

Cảm ơn mà không set Solution là không được đâu.

Bài liên quan
0