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ế.
