Viết chương trình cho nhập các hệ số của phương trình bậc nhất hai ax^2 + bx + c = 0, hãy in ra màn hình nghiệm của phương trình đã cho.
Trong bài tập này người dùng có thể nhập vào a = 0.
Video giải thích chi tiết về Giải phương trình bậc hai ax^2+bx+c = 0 trong lập trình C
// Giai phuong trinh bac 2: ax^2 + bx + c = 0 #include "stdio.h" #include "math.h" int main[]{ // Khai bao float a,b,c,x1,x2, delta; // Nhap lieu printf["Nhap vao he so a, b, c"]; scanf["%f%f%f", &a, &b, &c]; // Tinh toan va xuat ket qua if [a==0]{ printf["\nHe so a phai khac 0"]; }else{ // a !=0 delta = pow[b, 2]-4*a*c; printf["\ndelta = %.2f", delta]; if [delta>0]{ x1 = [-b-sqrt[delta]]/[2*a]; x2 = [-b+sqrt[delta]]/[2*a]; printf["\nPhuong trinh co nghiem phan biet: x1=%.2f va x2=%.2f", x1, x2]; }else if[delta==0]{ x1 = -b/[2*a]; printf["\nPhuong trinh co nghiem kep x1=x2=%.2f", x1]; }else{ printf["\nPhuong trinh vo nghiem"]; } } }
Viết chương trình giải phương trình bậc 2 trong C. Phương trình bậc 2 có dạng:
Lời giải
Lời giải của chúng tôi sử dụng phương thức sqrt[] để tính căn bậc 2 của một số trong C. Sử dụng phương thức scanf[“%f”, &a] để đọc số thực từ bàn phím và gán cho biến a.
#include /** * giai phuong trinh bac 2: ax2 + bx + c = 0 * * @param a: he so bac 2 * @param b: he so bac 1 * @param c: so hang tu do */ void giaiPTBac2[float a, float b, float c] { // kiem tra cac he so if [a == 0] { if [b == 0] { printf["Phuong trinh vo nghiem!"]; } else { printf["Phuong trinh co mot nghiem: x = %f", [-c / b]]; } return; } // tinh delta float delta = b*b - 4*a*c; float x1; float x2; // tinh nghiem if [delta > 0] { x1 = [float] [[-b + sqrt[delta]] / [2*a]]; x2 = [float] [[-b - sqrt[delta]] / [2*a]]; printf["Phuong trinh co 2 nghiem la: x1 = %f va x2 = %f", x1, x2]; } else if [delta == 0] { x1 = [-b / [2 * a]]; printf["Phong trinh co nghiem kep: x1 = x2 = %f", x1]; } else { printf["Phuong trinh vo nghiem!"]; } } /** * ham main */ int main[] { float a, b, c; printf["Nhap he so bac 2, a = "]; scanf["%f", &a]; printf["Nhap he so bac 1, b = "]; scanf["%f", &b]; printf["Nhap so hang tu do, c = "]; scanf["%f", &c]; giaiPTBac2[a, b, c]; return 1; }Kết quả:
Nhap he so bac 2, a = 2 Nhap he so bac 1, b = 3 Nhap so hang tu do, c = 1 Phuong trinh co 2 nghiem la: x1 = -0.500000 va x2 = -1.000000// Bai toan giai phuong trinh bac hai
#include
#include
#include
void main[]
{
float a, b, c, d, x1, x2;
clrscr[];
printf["\nNhap vao a: "];
scanf["%f",&a];
printf["\nNhap vao b: "];
scanf["%f",&b];
printf["\nNhap vao c: "];
scanf["%f",&c];
if[a==0]{
if[b==0]{
if[c==0]{
printf["\nPhuong trinh vo so nghiem!"];
}
else{
printf["\nPhuong trinh vo nghiem!"];
}
}
else{
printf["\nPhuong trinh co mot nghiem, x = %g",-c/b];
}
}
else{
d=b*b-4*a*c;
if[d