icantech
Lập trình C++
6523
04/01/2024

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

Ngôn ngữ C++ đã trở nên rất phổ biến và được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau. Trong bài viết dưới đây, hãy cùng ICANTECH tìm hiểu các dạng bài tập C++ đơn giản có lời giải nhé!

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

#include <string>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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 <iostream>

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é

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình C++

Bài tương tự