Bài tập sử dụng if...else trong C / C++
Trong bài viết này, codehow sẽ thực hiện các bài tập sử dụng if...else trong C / C++. Để có thể nhớ được lâu thì chỉ có cách là làm bài tập thật nhiều. Khi đó chúng ta sẽ vận dụng các kiến thức để áp dụng vào các bài toán thực tế.
Mình sẽ viết bằng hai ngôn ngữ khác nhau là C và C++. Bây giờ hãy cùng mình đi vào từng bài tập thôi nhé.
Bài tập 1 sử dụng if...else trong C / C++
Đề bài: Tìm số lớn nhất trong ba số được nhập bởi người dùng, sau đó hiển thị kết quả ra màn hình (sử dụng if...else trong C / C++).
Gợi ý:
- Khai báo ba biến a, b, c là các số được nhập bởi người dùng. Biến max là giá trị lớn nhất.
- Giả sử biến a là số lớn nhất (max = a).
- So sánh lần lượt các số b và c với max. Nếu số đó lớn hơn max thì gán số đó cho max.
- Hiển thị max ra màn hình.
Chương trình C:
#include <stdio.h> int main(void) { int a,b,c,max; printf("Nhập vào số a: "); scanf("%d", &a); printf("Nhập vào số b: "); scanf("%d", &b); printf("Nhập vào số c: "); scanf("%d", &c); max=a; //Giả sử số đầu tiên lớn nhất if(max<b) max=b; //So sánh max với b và cập nhật max if(max<c) max=c; //So sánh max với c và cập nhật max printf("Số lớn nhất trong 3 số là: %d", max); //In max ra màn hình printf("\n-----------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); return 0; }
Kết quả:
Chương trình C++:
#include <iostream> using namespace std; int main() { int a,b,c,max; cout<<"Nhập vào số a:"; cin>>a; cout<<"Nhập vào số b:"; cin>>b; cout<<"Nhập vào số c:"; cin>>c; max=a; //Giả sử số đầu tiên lớn nhất if(max<b) max=b; //So sánh max với b và cập nhật max if(max<c) max=c; //So sánh max với c và cập nhật max cout<<"Số lớn nhất trong 3 số là: "<<max; //In max ra màn hình cout<<"\n------------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; return 0; }
Kết quả:
Bài tập 2 sử dụng if...else trong C / C++
Đề bài: Viết chương trình xếp loại học tập của học sinh dựa vào các điểm được nhập vào từ bàn phím. Sử dụng if...else trong C / C++ để làm điều kiện như sau:
- Điểm trung bình >= 9.0 thì xếp loại xuất sắc.
- Điểm trung bình >= 8.0 và < 9.0 thì xếp loại giỏi.
- Điểm trung bình >= 7.0 và < 8.0 thì xếp loại khá.
- Điểm trung bình >= 5.0 và < 7.0 thì xếp loại trung bình.
- Điểm trung bình < 5.0 thì xếp loại yếu.
Gợi ý:
- Khai báo ba biến toan, ly, hoa là điểm của ba môn toán, lý, hóa. Biến tb là điểm trung bình của ba môn học đó.
- Sử dụng câu lệnh if else if ladder để tạo điều kiện dựa vào bài toán.
- Hiển thị xếp loại ra màn hình.
Chương trình C:
#include <stdio.h> int main(void) { float toan,ly,hoa,tb; printf("!!! Nếu điểm nhập vào lớn hơn 10 sẽ chuyển thành 10\n!!!Nếu điểm nhập vào bé hơn 0 sẽ được chuyển thành 0\n"); printf("Nhập vào điểm toán: "); scanf("%f", &toan); printf("Nhập vào điểm lý: "); scanf("%f", &ly); printf("Nhập vào điểm hóa: "); scanf("%f", &hoa); if(toan > 10) toan = 10; if(ly > 10) ly = 10; if(hoa > 10) hoa = 10; if(toan < 0) toan = 0; if(ly < 0) ly = 0; if(hoa < 0) hoa = 0; tb = (toan + ly + hoa) / 3; printf("Điểm trung bình của ba môn toán, lý, hóa là: %0.1f\n", tb); if(tb >= 9.0) printf("Xếp loại xuất sắc !"); else if(tb <= 8.0 && tb > 9.0) printf("Xếp loại giỏi !"); else if(tb <= 7.0 && tb > 8.0) printf("Xếp loại khá !"); else if(tb <= 5.0 && tb > 7.0) printf("Xếp loại trung bình !"); else if(tb < 5.0 && tb > 0) printf("Xếp loại yếu !"); printf("\n-----------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); return 0; }
Kết quả:
Chương trình C++:
#include <iostream> using namespace std; int main() { float toan,ly,hoa,tb; cout<<"!!! Nếu điểm nhập vào lớn hơn 10 sẽ chuyển thành 10\n!!!Nếu điểm nhập vào bé hơn 0 sẽ được chuyển thành 0\n"; cout<<"Nhập vào điểm toán:"; cin>>toan; cout<<"Nhập vào điểm lý:"; cin>>ly; cout<<"Nhập vào điểm hóa:"; cin>>hoa; if(toan > 10) toan = 10; if(ly > 10) ly = 10; if(hoa > 10) hoa = 10; if(toan < 0) toan = 0; if(ly < 0) ly = 0; if(hoa < 0) hoa = 0; tb = (toan + ly + hoa) / 3; cout<<"Điểm trung bình của ba môn toán, lý, hóa là: "<<tb<<endl; if(tb >= 9.0) cout<<"Xếp loại xuất sắc !"; else if(tb <= 8.0 && tb > 9.0) cout<<"Xếp loại giỏi !"; else if(tb <= 7.0 && tb > 8.0) cout<<"Xếp loại khá !"; else if(tb <= 5.0 && tb > 7.0) cout<<"Xếp loại trung bình !"; else if(tb < 5.0 && tb > 0) cout<<"Xếp loại yếu"; cout<<"\n------------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; return 0; }
Kết quả:
Bài tập 3 sử dụng if...else trong C / C++
Đề bài: Viết chương trình sử dụng if...else trong C / C++ để kiểm tra một số được nhập bởi người dùng là số chẵn hay số lẻ.
Gợi ý:
- Khai báo biến a và yêu cầu người dùng nhập vào giá trị cho biến này.
- Sử dụng câu lệnh if...else trong C / C++ để đặt điều kiện. Nếu a % 2 == 0 thì đây là số chẵn, ngược lại là số lẻ.
- Hiển thị thông báo ra màn hình cho người dùng biết.
Chương trình C:
#include <stdio.h> int main(void) { int a; printf("Nhập vào số a cần kiểm tra: "); scanf("%d", &a); if(a % 2 == 0){ printf("Đây là số chẵn !"); } else{ printf("Đây là số lẻ !"); } printf("\n-----------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); return 0; }
Kết quả:
Chương trình C++:
#include <iostream> using namespace std; int main() { int a; cout<<"Nhập vào số a cần kiểm tra: "; cin>>a; if(a % 2 == 0){ cout<<"Đây là số chẵn !"; } else{ cout<<"Đây là số lẻ !"; } cout<<"\n------------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; return 0; }
Kết quả:
Bài tập 4 sử dụng if...else trong C / C++
Đề bài: Giải phương trình bậc nhất một ẩn ax + b = 0, sử dụng câu lệnh if...else trong C / C++.
Gợi ý:
- Yêu cầu người dùng nhập vào hệ số a và b của phương trình.
- Kiểm tra điều kiện nếu hệ số a = 0 và b = 0 thì phương trình vô số nghiệm. Nếu a = 0 và b != 0 thì phương trình vô nghiệm.
- Nếu a != 0 thì x được tính bằng công thức: x = -b / a.
Chương trình C:
#include <stdio.h> int main(void) { int a, b; float x; printf("Nhập vào hệ số a: "); scanf("%d", &a); printf("Nhập vào hệ số a: "); scanf("%d", &b); printf("Phương trình: %dx + %d = 0\n", a, b); if(a == 0){ if(b == 0) printf("Phương trình có vô số nghiệm!"); else printf("Phương trình vô nghiệm!"); } else{ x = (float)-b / a; printf("Nghiệm của phương trình %dx + %d = 0 là: x = %0.2f", a, b, x); } printf("\n-----------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); return 0; }
Kết quả:
Chương trình C++:
#include <iostream> using namespace std; int main() { int a, b; float x; cout<<"Nhập vào hệ số a: "; cin>>a; cout<<"Nhập vào hệ số b: "; cin>>b; cout<<"Phương trình: "<<a<<"x + "<<b<<" = 0\n"; if(a == 0){ if(b == 0) cout<<"Phương trình có vô số nghiệm!"; else cout<<"Phương trình vô nghiệm!"; } else{ x = (float)-b / a; cout<<"Nghiệm của phương trình "<<a<<"x + "<<b<<" = 0 là: x = "<<x; } cout<<"\n------------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; return 0; }
Kết quả:
Như vậy là chúng ta đã cùng nhau thực hiện các bài tập sử dụng if...else trong C / C++. Trên đây chỉ là một vài bài tập cơ bản, các bạn hãy luyện tập thật nhiều nữa để có thể sử dụng nó một cách thành thạo nhé. Ở bài tiếp theo mình sẽ thực hiện các bài tập sử dụng vòng lặp for trong C / C++, các bạn chú ý theo dõi nhé !!!