Tổng hợp các dạng bài tập code mẫu C++ cơ bản (Full bài giải)

1. Tổng hợp các bài tập lập trình C++ có lời giải

Dưới đây là một số dạng bài tập C++ phổ biến:

1.1. In ra màn hình chuỗi “Xin chào, C++!”

#include 
int main() {
   std::cout << "Xin chào, C++!" << std::endl;
   return 0;
}

1.2. Nhập và in ra một số nguyên từ bàn phím

#include 
int main() {
   int number;
   std::cout << "Nhập một số nguyên: ";
   std::cin >> number;
   std::cout << "Số bạn vừa nhập là: " << number << std::endl;
   return 0;
}

1.3. Tính tổng của hai số nguyên

#include 
int main() {
   int a, b;
   std::cout << "Nhập số a: ";
   std::cin >> a;
   std::cout << "Nhập số b: ";
   std::cin >> b;
   std::cout << "Tổng của a và b là: " << a + b << std::endl;
   return 0;
}

1.4. Tìm số lớn nhất giữa hai số

#include 
int main() {
   int a, b;
   std::cout << "Nhập số a: ";
   std::cin >> a;
   std::cout << "Nhập số b: ";
   std::cin >> b;
   int max = (a > b) ? a : b;
   std::cout << "Số lớn nhất là: " << max << std::endl;
   return 0;
}

1.5. Chuyển đổi nhiệt độ từ độ C sang độ F

#include 
int main() {
   float celsius;
   std::cout << "Nhập nhiệt độ theo độ C: ";
   std::cin >> celsius;
   float fahrenheit = (celsius * 9 / 5) + 32;
   std::cout << "Nhiệt độ theo độ F là: " << fahrenheit << std::endl;
   return 0;
}

1.6. In ra các số nguyên từ 1 đến 10

#include 
int main() {
   for (int i = 1; i <= 10; ++i) {
      std::cout << i << " ";
   }
   std::cout << std::endl;
   return 0;
}

1.7. Kiểm tra số nguyên tố

#include 
bool isPrime(int n) {
   if (n <= 1) return false;
   for (int i = 2; i * i <= n; ++i) {
      if (n % i == 0) return false;
   }
   return true;
}
int main() {
   int number;
   std::cout << "Nhập một số nguyên: ";
   std::cin >> number;
   if (isPrime(number)) {
      std::cout << number << " là số nguyên tố." << std::endl;
   } else {
      std::cout << number << " không là số nguyên tố." << std::endl;
   }
   return 0;
}

1.8. Đảo ngược một chuỗi

#include 
#include 
int main() {
   std::string str;
   std::cout << "Nhập chuỗi: ";
   std::cin >> str;
   std::string reversedStr = std::string(str.rbegin(), str.rend());
   std::cout << "Chuỗi đảo ngược: " << reversedStr << std::endl;
   return 0;
}

1.9. Tìm số Fibonacci thứ n

#include 
int fibonacci(int n) {
   if (n <= 1)
      return n;
   return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
   int n;
   std::cout << "Nhap vao so n: ";
   std::cin >> n;
   std::cout << "So Fibonacci thu " << n << " la: " << fibonacci(n) << std::endl;
   return 0;
}

1.10. Tính giai thừa của một số

#include 
int factorial(int n) {
   if (n == 0) return 1;
   return n * factorial(n - 1);
}
int main() {
   int n;
   std::cout << "Nhập n: ";
   std::cin >> n;
   std::cout << "Giai thừa của " << n << " là: " << factorial(n) << std::endl;
   return 0;
}

2. Các dạng bài tập C++ nâng cao

Dưới đây là một số dạng bài tập C++ khó mà bạn có thể tham khảo:

2.1. Tính tổng các số trong ma trận 2D

#include 
int main() {
   int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
   int sum = 0;
   for (int i = 0; i < 3; ++i) {
      for (int j = 0; j < 3; ++j) {
         sum += matrix[i][j];
      }
   }
   std::cout << "Tổng các phần tử trong ma trận là: " << sum << std::endl;
   return 0;
}

2.2. Sắp xếp một mảng số nguyên bằng thuật toán QuickSort

#include 
void quickSort(int arr[], int left, int right) {
   if (left < right) {
      int pivot = arr[right];
      int i = left - 1;
      for (int j = left; j <= right - 1; ++j) {
         if (arr[j] < pivot) {
            ++i;
            std::swap(arr[i], arr[j]);
         }
      }
      std::swap(arr[i + 1], arr[right]);
      quickSort(arr, left, i);
      quickSort(arr, i + 2, right);
   }
}
int main() {
   int arr[] = {12, 4, 3, 6, 10, 5};
   int n = sizeof(arr) / sizeof(arr[0]);
   quickSort(arr, 0, n - 1);
   std::cout << "Mảng đã sắp xếp: ";
   for (int i = 0; i < n; ++i) {
      std::cout << arr[i] << " ";
   }
   std::cout << std::endl;
   return 0;
}

2.3. Tính đường chéo chính của ma trận vuông 2D

#include 
int main() {
   int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
   int sum = 0;
   for (int i = 0; i < 3; ++i) {
      sum += matrix[i][i];
   }
   std::cout << "Tổng đường chéo chính là: " << sum << std::endl;
   return 0;
}

2.4. Tìm số phần tử dương lẻ trong một mảng số nguyên

#include 
int main() {
   int arr[] = {-1, 2, 3, -4, 5, -6};
   int count = 0;
   for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i) {
      if (arr[i] > 0 && arr[i] % 2 != 0) {
         ++count;
      }
   }
   std::cout << "Số phần tử dương lẻ trong mảng là: " << count << std::endl;
   return 0;
}

2.5. Tính năng lượng tiêu thụ của một hệ thống điện (đơn vị kWh) trong một khoảng thời gian

#include 
int main() {
   int startTime, endTime;
   std::cout << "Nhập thời gian bắt đầu (giờ): ";
   std::cin >> startTime;
   std::cout << "Nhập thời gian kết thúc (giờ): ";
   std::cin >> endTime;
   int consumption = (endTime - startTime) * 5; // Giả sử mỗi giờ tiêu thụ 5 kWh
   std::cout << "Năng lượng tiêu thụ: " << consumption << " kWh" << std::endl;
   return 0;
}

3. Một số dạng bài tập C++ cơ bản

Dưới đây là danh sách các bài tập cơ bản C++ giúp bạn củng cố kiến thức và kỹ năng lập trình:

  • In ra màn hình chuỗi “Xin chào, C++!”
  • Nhập và in ra một số nguyên từ bàn phím.
  • Tính tổng, hiệu, tích, thương của hai số nguyên.
  • Tìm số lớn nhất và nhỏ nhất trong một mảng số nguyên.
  • Chuyển đổi nhiệt độ từ độ C sang độ F và ngược lại.
  • In ra các số nguyên từ 1 đến 100 mà không sử dụng vòng lặp.
  • Kiểm tra một số nguyên có phải là số nguyên tố hay không.
  • Tính giai thừa của một số nguyên.
  • Đảo ngược một chuỗi ký tự.
  • Tìm số Fibonacci thứ n trong dãy Fibonacci.
  • Đếm số lượng nguyên âm, nguyên dương trong một mảng số nguyên.
  • Sắp xếp một mảng số nguyên theo thứ tự tăng dần.
  • Tìm ước số chung lớn nhất của hai số nguyên.
  • Kiểm tra một chuỗi có phải là chuỗi đối xứng hay không.
  • Tạo một lớp đơn giản (class) để biểu diễn một đối tượng hình học và tính diện tích, chu vi.
  • Tìm các số Amstrong trong một phạm vi cho trước.
  • Sử dụng con trỏ để đảo ngược một mảng số nguyên.
  • Viết một chương trình quản lý danh bạ (sử dụng mảng hoặc danh sách liên kết đơn).
  • Tạo một chương trình đơn giản để quản lý sách trong thư viện (tìm kiếm, thêm, xóa sách).
  • Tính số ngày giữa hai ngày được nhập từ bàn phím.

4. Lời Kết

Như vậy, ICANTECH đã giới thiệu bạn các dạng bài tập C++ từ cơ bản đến nâng cao theo từng trình độ khác nhau. Hi vọng các kiến thức trên sẽ giúp bạn trau dồi và cải thiện kỹ năng lập trình C++. Chúc các bạn thành công!

Cảm ơn bạn đã đọc bài viết, nếu bạn đang quan tâm đến học lập trình thì hãy tham khảo ngay các khóa học lập trình dưới đây tại ICANTECH nhé:

  • Khóa học lập trình Python
  • Khóa học lập trình Web

Nguồn ảnh: ICANTECH.

FEATURED TOPIC