[CPP] Bài tập cấu trúc rẽ nhánh

by | Aug 4, 2024 | C/C++, Ngôn ngữ lập trình | 0 comments

Dưới đây là 10 bài tập lập trình C++ sử dụng cấu trúc rẽ nhánh. Mỗi bài tập sẽ giúp học sinh thực hành và hiểu rõ hơn về cách sử dụng các cấu trúc rẽ nhánh như if, if-else, if-else if-else, và switch.

Bài tập 1: Kiểm tra số chẵn lẻ

  • Mô tả: Viết chương trình nhập vào một số nguyên và kiểm tra xem số đó là số chẵn hay số lẻ.
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      int number;
      cout << "Nhap so nguyen: ";
      cin >> number;
      if (number % 2 == 0) {
          cout << number << " la so chan." << endl;
      } else {
          cout << number << " la so le." << endl;
      }
      return 0;
  }

Bài tập 2: Kiểm tra số dương âm

  • Mô tả: Viết chương trình nhập vào một số nguyên và kiểm tra xem số đó là số dương, âm hay bằng không.
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      int number;
      cout << "Nhap so nguyen: ";
      cin >> number;
      if (number > 0) {
          cout << number << " la so duong." << endl;
      } else if (number < 0) {
          cout << number << " la so am." << endl;
      } else {
          cout << number << " bang 0." << endl;
      }
      return 0;
  }

Bài tập 3: Kiểm tra năm nhuận

  • Mô tả: Viết chương trình nhập vào một năm và kiểm tra xem năm đó có phải là năm nhuận hay không.
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      int year;
      cout << "Nhap nam: ";
      cin >> year;
      if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
          cout << year << " la nam nhuan." << endl;
      } else {
          cout << year << " khong phai nam nhuan." << endl;
      }
      return 0;
  }

Bài tập 4: Tính điểm trung bình

  • Mô tả: Viết chương trình nhập vào điểm của ba môn học và tính điểm trung bình. Sau đó, xác định xếp loại học lực dựa trên điểm trung bình.
  • Điểm trung bình >= 8.0: Giỏi
  • Điểm trung bình >= 6.5 và < 8.0: Khá
  • Điểm trung bình >= 5.0 và < 6.5: Trung bình
  • Điểm trung bình < 5.0: Yếu
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      double toan, van, anh, dtb;
      cout << "Nhap diem Toan: ";
      cin >> toan;
      cout << "Nhap diem Van: ";
      cin >> van;
      cout << "Nhap diem Anh: ";
      cin >> anh;
      dtb = (toan + van + anh) / 3;
      cout << "Diem trung binh: " << dtb << endl;
      if (dtb >= 8.0) {
          cout << "Xep loai: Gioi" << endl;
      } else if (dtb >= 6.5) {
          cout << "Xep loai: Kha" << endl;
      } else if (dtb >= 5.0) {
          cout << "Xep loai: Trung binh" << endl;
      } else {
          cout << "Xep loai: Yeu" << endl;
      }
      return 0;
  }

Bài tập 5: Kiểm tra ký tự nguyên âm hay phụ âm

  • Mô tả: Viết chương trình nhập vào một ký tự và kiểm tra xem ký tự đó là nguyên âm hay phụ âm.
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      char ch;
      cout << "Nhap mot ky tu: ";
      cin >> ch;
      if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' ||
          ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') {
          cout << ch << " la nguyen am." << endl;
      } else {
          cout << ch << " la phu am." << endl;
      }
      return 0;
  }

Bài tập 6: Sử dụng switch để hiển thị ngày trong tuần

  • Mô tả: Viết chương trình nhập vào một số nguyên từ 1 đến 7 và hiển thị ngày tương ứng trong tuần (1: Chủ nhật, 2: Thứ Hai, …, 7: Thứ Bảy).
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      int day;
      cout << "Nhap mot so tu 1 den 7: ";
      cin >> day;
      switch (day) {
          case 1:
              cout << "Chu nhat" << endl;
              break;
          case 2:
              cout << "Thu Hai" << endl;
              break;
          case 3:
              cout << "Thu Ba" << endl;
              break;
          case 4:
              cout << "Thu Tu" << endl;
              break;
          case 5:
              cout << "Thu Nam" << endl;
              break;
          case 6:
              cout << "Thu Sau" << endl;
              break;
          case 7:
              cout << "Thu Bay" << endl;
              break;
          default:
              cout << "Ngay khong hop le" << endl;
              break;
      }
      return 0;
  }

Bài tập 7: Xác định loại tam giác

  • Mô tả: Viết chương trình nhập vào ba cạnh của một tam giác và xác định loại tam giác đó (đều, cân, vuông, thường).
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      double a, b, c;
      cout << "Nhap do dai ba canh cua tam giac: ";
      cin >> a >> b >> c;
      if (a == b && b == c) {
          cout << "Tam giac deu" << endl;
      } else if (a == b || b == c || a == c) {
          cout << "Tam giac can" << endl;
      } else if (a * a + b * b == c * c || b * b + c * c == a * a || a * a + c * c == b * b) {
          cout << "Tam giac vuong" << endl;
      } else {
          cout << "Tam giac thuong" << endl;
      }
      return 0;
  }

Bài tập 8: Tính tiền điện

  • Mô tả: Viết chương trình nhập vào số điện tiêu thụ (kWh) và tính tiền điện theo các mức giá sau:
  • 50 kWh đầu tiên: 1.678 VND/kWh
  • 50 kWh tiếp theo: 1.734 VND/kWh
  • 100 kWh tiếp theo: 2.014 VND/kWh
  • Số còn lại: 2.536 VND/kWh
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      double kWh, cost;
      cout << "Nhap so dien tieu thu (kWh): ";
      cin >> kWh;
      if (kWh <= 50) {
          cost = kWh * 1.678;
      } else if (kWh <= 100) {
          cost = 50 * 1.678 + (kWh - 50) * 1.734;
      } else if (kWh <= 200) {
          cost = 50 * 1.678 + 50 * 1.734 + (kWh - 100) * 2.014;
      } else {
          cost = 50 * 1.678 + 50 * 1.734 + 100 * 2.014 + (kWh - 200) * 2.536;
      }
      cout << "Tien dien: " << cost << " VND" << endl;
      return 0;
  }

Bài tập 9: Kiểm tra số nguyên tố

  • Mô tả: Viết chương trình nhập vào một số nguyên và kiểm tra xem số đó có phải là số nguyên tố hay không.
  • Gợi ý:
  #include <iostream>
using namespace std;

int main() {
    int number;
    cout << "Nhap so nguyen: ";
    cin >> number;
    
    bool isPrime = true;

    if (number <= 1) {
        isPrime = false;
    } else {
        for (int i = 2; i <= number / 2; i++) {
            if (number % i == 0) {
                isPrime = false;
                break;
            }
        }
    }

    if (isPrime) {
        cout << number << " la so nguyen to." << endl;
    } else {
        cout << number << " khong phai la so nguyen to." << endl;
    }
    
    return 0;
}

Bài tập 10: Tính tiền lương nhân viên

  • Mô tả: Viết chương trình tính tiền lương cho nhân viên dựa trên số giờ làm việc. Quy tắc tính lương:
  • Giờ làm việc <= 40 giờ: lương = số giờ * 50,000 VND/giờ
  • Giờ làm việc > 40 giờ: lương = 40 * 50,000 + (số giờ – 40) * 75,000 VND/giờ
  • Gợi ý:
  #include <iostream>
  using namespace std;

  int main() {
      double hours, salary;
      cout << "Nhap so gio lam viec: ";
      cin >> hours;
      if (hours <= 40) {
          salary = hours * 50000;
      } else {
          salary = 40 * 50000 + (hours - 40) * 75000;
      }
      cout << "Tien luong: " << salary << " VND" << endl;
      return 0;
  }

Những bài tập trên giúp học sinh làm quen và thành thạo với các cấu trúc rẽ nhánh trong C++, từ đó có thể ứng dụng vào các bài toán thực tế.