01/10/2018, 16:49
Chương trình giải pt bậc 2 C++ chạy không lỗi nhưng bị sai kết quả
Em mới học C++, đang code thử cái chương trình giải pt bậc 2 vẫn chạy không báo lỗi nhưng khi kết quả là hai nghiệm phân biệt thì chương trình lại ra kết quả sai, các bác chỉ giúp xem em sai ngu ở đâu với
int main(int argc, char** argv) {
cout<<"Chuong trinh giai phuong trinh bac 2: ax^2+bx+c
";
double x1,x2,a,b,c,denta;
cout<<"Nhap he so a:";
cin>>a;
cout<<"Nhap he so b:";
cin>>b;
cout<<"Nhap he so c:";
cin>>c;
denta=b*b-4*a*c;
if(a==0)
{
cout<<"Day la phuong trinh bac 1";
}
else
{
if(denta<0)
{
cout<<"Phuong trinh vo nghiem";
}
else if(denta=0)
{
cout<<"Phuong trinh co nghiem kep x1=x2="<<-b/(2*a);
}
else
{
cout<<"Phuong trinh co 2 nghiem phan biet
";
x1=(-b+sqrt(denta))/(2*a);
x2=(-b-sqrt(denta))/(2*a);
cout<<"x1= "<<x1;
cout<<endl;
cout<<"x2= "<<x2;
}
}
return 0;
Bài liên quan
Úi chà chà
A, thấy rồi, cảm ơn hihi
À mà em thấy đúng rồi mà, nếu delta bằng 0 thì nghiệm kép x1=x2= -b/2a
Đọc lại toán tử trong C++. muốn so sánh bằng thì dùng
==
bạn có thể thêm