LATEST

Giải phương trình bậc nhất ax + b = 0 trong C / C++

Trong bài viết này, codehow sẽ hướng dẫn các bạn cách giải phương trình bậc nhất ax + b = 0 trong C / C++. Đây là bài toán thường gặp khi bắt đầu học lập trình, bởi nó vừa áp dụng kiến thức phổ thông vừa áp dụng kiến thức căn bản trong lập trình.

Trước khi đi vào viết chương trình giải phương trình bậc nhất ax + b = 0 ta cùng ôn lại cách giải đã nhé.

Phương trình bậc nhất một ẩn ax + b = 0 (hay còn gọi là phương trình truyến tính). Trong đó:

  • a: là hệ số bật một.
  • b: là một hằng số.

Để tìm nghiệm x của phương trình, có các trường hợp như sau:

  • a = 0 và b = 0 thì phương trình vô số nghiệm.
  • a = 0 và b != 0 thì phương trình vô nghiệm.
  • a != 0 thì nghiệm được tính theo công thức: x = -b / a.

Vậy làm thế nào để thực hiện giải phương trình bậc nhất ax + b = 0 trong C / C++ thì hãy bắt đầu ngay cùng mình thôi nào.

Giải phương trình bậc nhất ax + b = 0 trong C / C++

Để giải phương trình bậc nhất ax + b = 0 trong C / C++, ta thực hiện theo từng bước như sau.

Bước 1: Khai báo hai biến a b là hai hệ số của phương trình, biến nghiem là nghiệm của phương trình.

//khai báo hai biến a và b là hệ số của phương trình
int a;
int b;
//khai báo biến nghiem là nghiệm của phương trình
double nghiem;

Bước 2: Yêu cầu người dùng nhập vào hai hệ số của phương trình.

//yêu cầu người dùng nhập vào hệ số a và b
printf("Nhập hệ số a = ");
scanf("%d", &a);
printf("Nhập hệ số b = ");
scanf("%d", &b);

Bước 3: Hiển thị phương trình sau khi nhập dưới dạng ax + b = 0.

//hiển thị ra phương trình sau khi nhập
printf("Phương trình sau khi nhập: %dx + %d = 0",a,b);

Bước 4: Tạo điều kiện xử lý chương trình. Chia thành 3 trường hợp như sau:

  • TH1: a = 0 và b = 0 thì kết luận phương trình vô số nghiệm.
  • TH2: a = 0 và b != 0 thì kết luận phương trình vô nghiệm.
  • TH3: a != 0 thì nghiệm phương trình x = -b / a.
//tạo điều kiện cho chương trình
  //TH1: nếu a = 0 và b = 0 thì phương trình vô số nghiệm
  //TH2: nếu a = 0 và b != 0 thì phương trình vô nghiệm
  //TH3: Nếu a != thì x = -b / a
  if(a == 0) {
    if(b == 0) {
      printf("\n-> Phương trình trên có vô số nghiệm\n");
    } else {
      printf("\n-> Phương trình trên vô nghiệm\n");
    }
  } 
  else {
      nghiem = (double)-b/a;
      printf("\n-> Phương trình trên có nghiệm là: x = %0.2f\n",nghiem);
  }

Dưới đây là hai chương trình giải phương trình bậc nhất ax + b = 0 trong C / C++ mình đã viết sẵn, các bạn có thể tham khảo nhé.

Chương trình C:

#include <stdio.h>

int main(){
  //khai báo hai biến a và b là hệ số của phương trình
  int a;
  int b;
  //khai báo biến nghiem là nghiệm của phương trình
  double nghiem;
  //yêu cầu người dùng nhập vào hệ số a và b
  printf("Nhập hệ số a = ");
  scanf("%d", &a);
  printf("Nhập hệ số b = ");
  scanf("%d", &b);
  //hiển thị ra phương trình sau khi nhập
  printf("Phương trình sau khi nhập: %dx + %d = 0",a,b);
  //tạo điều kiện cho chương trình
  //TH1: nếu a = 0 và b = 0 thì phương trình vô số nghiệm
  //TH2: nếu a = 0 và b != 0 thì phương trình vô nghiệm
  //TH3: Nếu a != thì x = -b / a
  if(a == 0) {
    if(b == 0) {
      printf("\n-> Phương trình trên có vô số nghiệm\n");
    } else {
      printf("\n-> Phương trình trên vô nghiệm\n");
    }
  } 
  else {
      nghiem = (double)-b/a;
      printf("\n-> Phương trình trên có nghiệm là: x = %0.2f\n",nghiem);
  }
  
  printf("\n-------------------------------\n");
  printf("Chương trình này được đăng tại codehow.net");
  return 0;
}

Chương trình C++:

#include <iostream>
using namespace std;

int main(){
  //khai báo hai biến a và b là hệ số của phương trình
  int a;
  int b;
  //khai báo biến nghiem là nghiệm của phương trình
  double nghiem;
  //yêu cầu người dùng nhập vào hệ số a và b
  cout << "Nhập hệ số a = ";
  cin >> a;
  cout << "Nhập hệ số b = ";
  cin >> b;
  //hiển thị ra phương trình sau khi nhập
  cout<<"Phương trình sau khi nhập: "<<a<<"x + "<<b<<" = 0";
  //tạo điều kiện cho chương trình
  //TH1: nếu a = 0 và b = 0 thì phương trình vô số nghiệm
  //TH2: nếu a = 0 và b != 0 thì phương trình vô nghiệm
  //TH3: Nếu a != thì x = -b / a
  if(a == 0) {
    if(b == 0) {
      cout << "\n-> Phương trình trên có vô số nghiệm" << endl;
    } else {
      cout << "\n-> Phương trình trên vô nghiệm" << endl;
    }
  } 
  else {
      nghiem = (double)-b/a;
      cout << "\n-> Phương trình trên có nghiệm là: x = " << nghiem << endl;
  }
  
  cout<<"\n-------------------------------\n";
  cout<<"Chương trình này được đăng tại codehow.net";
  return 0;
}

Kết quả có nghiệm x:

bai34 01 PNG

Kết quả vô nghiệm:

bai34 02 PNG

Kết quả vô số nghiệm:

bai34 03 PNG

Như vậy là chúng ta đã cùng nhau tìm hiểu và thực hiện chương trình giải phương trình bậc nhất trong C / C++. Các bạn có thể luyện tập nhiều dạng bài tập khác nhau tại serries bài tập C / C++ của codehow nhé. Cảm ơn các bạn rất nhiều.

Cùng chuyên mục:

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán tính lũy thừa trong C / C++

Thuật toán tính lũy thừa trong C / C++

Top