20 bài tập cơ bản C++ và lời giải ôn tập

Dưới đây là 20 bài tập C++ cơ bản + lời giải chi tiết để bạn ôn tập (rất phù hợp cho nền tảng kỹ sư tự động hóa, PLC → C/C++).


💻 20 BÀI TẬP C++ CƠ BẢN (CÓ LỜI GIẢI)


🔹 1. In “Hello World”

#include <iostream>
using namespace std;int main() {
cout << "Hello World";
return 0;
}

🔹 2. Nhập 2 số, in tổng

int a, b;
cin >> a >> b;
cout << "Tong = " << a + b;

🔹 3. Tính diện tích hình chữ nhật

float a, b;
cin >> a >> b;
cout << "Dien tich = " << a * b;

🔹 4. Kiểm tra số chẵn/lẻ

int n;
cin >> n;
if (n % 2 == 0)
cout << "Chan";
else
cout << "Le";

🔹 5. Tìm số lớn nhất trong 3 số

int a, b, c;
cin >> a >> b >> c;
int max = a;
if (b > max) max = b;
if (c > max) max = c;
cout << max;

🔹 6. Tính giai thừa

int n;
cin >> n;
long long gt = 1;
for (int i = 1; i <= n; i++)
gt *= i;
cout << gt;

🔹 7. In bảng cửu chương

int n;
cin >> n;
for (int i = 1; i <= 10; i++)
cout << n << " x " << i << " = " << n*i << endl;

🔹 8. Kiểm tra số nguyên tố

int n;
cin >> n;
bool isPrime = true;
if (n < 2) isPrime = false;
for (int i = 2; i*i <= n; i++)
if (n % i == 0) isPrime = false;if (isPrime) cout << "Prime";
else cout << "Not Prime";

🔹 9. Tính tổng từ 1 đến n

int n, sum = 0;
cin >> n;
for (int i = 1; i <= n; i++)
sum += i;
cout << sum;

🔹 10. Đảo ngược số

int n, rev = 0;
cin >> n;
while (n != 0) {
rev = rev * 10 + n % 10;
n /= 10;
}
cout << rev;

🔹 11. Kiểm tra số đối xứng

int n, temp, rev = 0;
cin >> n;
temp = n;
while (n != 0) {
rev = rev * 10 + n % 10;
n /= 10;
}
if (temp == rev) cout << "Palindrome";
else cout << "Not";

🔹 12. Nhập mảng và in ra

int n;
cin >> n;
int a[100];
for (int i = 0; i < n; i++)
cin >> a[i];for (int i = 0; i < n; i++)
cout << a[i] << " ";

🔹 13. Tìm phần tử lớn nhất trong mảng

int max = a[0];
for (int i = 1; i < n; i++)
if (a[i] > max) max = a[i];
cout << max;

🔹 14. Đếm số chẵn trong mảng

int count = 0;
for (int i = 0; i < n; i++)
if (a[i] % 2 == 0) count++;
cout << count;

🔹 15. Sắp xếp mảng tăng dần (bubble sort)

for (int i = 0; i < n-1; i++)
for (int j = 0; j < n-i-1; j++)
if (a[j] > a[j+1])
swap(a[j], a[j+1]);

🔹 16. Hàm tính tổng

int sum(int a, int b) {
return a + b;
}

🔹 17. Truyền mảng vào hàm

void printArray(int a[], int n) {
for (int i = 0; i < n; i++)
cout << a[i] << " ";
}

🔹 18. Con trỏ cơ bản

int a = 10;
int *p = &a;
cout << *p; // in 10

🔹 19. Struct cơ bản

struct SinhVien {
string ten;
int tuoi;
};

🔹 20. Nhập và in struct

SinhVien sv;
cin >> sv.ten >> sv.tuoi;
cout << sv.ten << " " << sv.tuoi;

🚀 Cách học hiệu quả (rất quan trọng)

🔹 Level 1

  • Gõ lại code
  • Hiểu từng dòng

🔹 Level 2

  • Tự sửa:
    • đổi input
    • thêm điều kiện

🔹 Level 3

  • Tự viết lại không nhìn

💡 Gợi ý nâng cấp (phù hợp automation)

Sau bộ này, bạn nên học tiếp:

  • File (ghi log)
  • Class (OOP)
  • Linked list
  • Giao tiếp serial (rất hữu ích cho PLC/IoT)
[contact-form-7 id=”f245613″ title=”Newsletter”]