Giải phương trình bậc nhất ax + b = 0
Đề bài: Giải phương trình bậc nhất ax + b = 0 (a khác 0) Với các hệ số a, b được nhập vào từ bàn phím.
Để giải bài này, các bạn nhớ lại kiến thức toán học của chúng ta đã học thời phổ thông.
Do a khác 0 nên ta luôn có nghiệm x = -b/a. Vậy thì dễ dàng rồi, công thức đã có, giờ chỉ cần code thôi.
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 | /* * Giai Phuong trinh ax + b = 0 */ #include <stdio.h> int main() { float a, b; printf ( "Enter a and b: " ); scanf ( "%f%f" , &a, &b); if (a == 0) { printf ( "You must enter a <> 0 !\n" ); } else { printf ( "Result: x = %.2f\n" , -b/a); } return 0; } |
Đơn giản vậy thôi. Tuy nhiên giờ chúng ta thử nâng cấp thêm 1 chút nữa là nếu cho phép nhập a = 0 thì sao?
Đề bài: Giải phương trình bậc nhất ax + b = 0 (a có thể bằng 0) Với các hệ số a, b được nhập vào từ bàn phím.
Như vậy chúng ta cần nhớ lại, nếu a = 0 thì phương trình trở thành b = 0. Nếu b = 0 thì phương trình trở thành 0 = 0, luôn đúng do vậy phương trình luôn đúng với mọi x. Nếu b khác 0, khi đó phương trình sẽ vô nghiệm. Vậy chỉ cần dùng if else kiểm tra các trường hợp thêm một chút là xong.
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | /* * Giai Phuong trinh ax + b = 0 */ #include <stdio.h> int main() { float a, b; printf ( "Enter a and b: " ); scanf ( "%f%f" , &a, &b); if (a == 0) { if (b == 0) { printf ( "True with all x\n" ); } else { printf ( "Impossible equation (No result for x)\n" ); } } else { printf ( "Result: x = %.2f\n" , -b/a); } return 0; } |
Không biết anh có chương trình đồ thị với mấy kiểu dữ liệu trừu tượng không?
Đồ thị bạn có thể xem tại đây: https://cachhoc.net/category/thuat-toan/do-thi/
Kiểu trừu tượng là kiểu gì bạn?