#include <stdio.h>
#include <math.h>
#include <conio.h>
int main()
{
float a, b, c;
printf("Enter the value of quadratic coefficient: ");
scanf("%f", &a);
printf("Enter the value of superlative coefficient: ");
scanf("%f", &b);
printf("Enter the value of constant: ");
scanf("%f", &c);
if (a == 0)
if (b == 0)
if (c == 0)
printf("The equation has unlimited solution.");
else printf("The equation has no solution.");
else printf("The equation has a solution is %f", -(c / b));
else
{
double d = pow(b, 2) - 4 * a * c;
if (d < 0)
printf("The equation has no solution.");
else if (d == 0)
printf("The equation has a solution is %f", -(b / (2 / a)));
else printf("The equation have two solutions are %f and %f", -(b + sqrt(d) / (2 * a)), -(b - sqrt(d) / (2 * a)));
}
getch();
return 0;
}
Có gì thì mọi người sửa giúp em nha, sưa luôn lỗi tiếng anh cho em với.
đọc nhầm,chưa kéo qua bên phải.xin lỗi nhiều.code của bạn về mặt giải thuật thì có vẻ ko sai,cần chạy trên máy để kiểm tra lỗi cú pháp.nếu chạy dc thì oke rồi
thường lỗi kiểu này là do dùng dữ liệu int chung với float/double mà không cast, đổi 2 thành 2.0, 4 thành 4.0 trong code xem nào
no kép
= -b/2*a chứ @@
sai tùm lum denta >0
no= (-b ± căn denta)/2a
Khai báo double thì phải dùng %lf chứ.
Khuyên thêm là ko nên dùng pow vì hàm pow chạy rất chậm, 1 bài dùng vài lần là đơ luôn
Vấn đề nằm ở chỗ scanf("%f %f %f",…) . Bạn nên xoá hết dấu " " đi
Anh xem code của em thử:
Có gì thì mọi người sửa giúp em nha, sưa luôn lỗi tiếng anh cho em với.
công thức tính 2 nghiệm riêng biệt của bán sai thì phải
Sai chỗ nào vậy anh, anh có thể nói rõ hơn được không
đọc nhầm,chưa kéo qua bên phải.xin lỗi nhiều.code của bạn về mặt giải thuật thì có vẻ ko sai,cần chạy trên máy để kiểm tra lỗi cú pháp.nếu chạy dc thì oke rồi