Viết chương trình C để giải phương trình bậc 2
Các bước thực hiện để viết chương trình C:
1. Nhập vào hệ số a, b, c
2. Tính delta = (b*b) - (4*a*c).
3. Tính nghiệm của phương trình:
- Nếu detal>0 thì phương trình có 2 nghiệm phân biệt:
- root1 = (-b + sqrt(delta)) / (2*a)
- root2 = (-b - sqrt(delta)) / (2*a).
- Nếu delta = 0 thì phương trình có nghiệm kép root1 = root2 = -b / (2*a).
- Nếu delta < 0 thì phương trình vô nghiệm
Code tham khảo của chương trình C:
#include <stdio.h>
#include <math.h> /* Used for sqrt() */
int main()
{
float a, b, c;
float root1, root2;
float delta;
/*1. Enter a, b, c*/
printf("Enter values of a, b, c of quadratic equation (ax^2 + bx + c): ");
scanf("%f%f%f", &a, &b, &c);
/*2. Calculate delta */
delta = (b * b) - (4 * a * c);
/*3.1 Check if delta > 0 */
if(delta > 0)
{
root1 = (-b + sqrt(delta)) / (2*a);
root2 = (-b - sqrt(delta)) / (2*a);
printf("Two distinct and real roots exists: %.2f and %.2f", root1, root2);
}
/*3.2 Check if delta = 0 */
else if(delta == 0)
{
root1 = root2 = -b / (2 * a);
printf("Two equal and real roots exists: %.2f and %.2f", root1, root2);
}
/*3.1 Check if delta < 0 */
else if(delta < 0)
{
printf("No root!");
}
return 0;
}
0 Nhận xét