Bài tập lập trình C/C++

Tục ngữ xưa đã có câu: “Học đi đôi với hành”, “Chăm hay không bằng tay quen”. Triết lý này đã trường tồn theo thời gian trong mọi lĩnh vực của cuộc sống. Với công việc lập trình cũng không ngoại lệ, người lập trình cũng giống như người công nhân, là người trực tiếp làm ra sản phẩm. Do vậy, kinh nghiệm và kỹ năng nghề là rất quan trọng. Để đạt được kĩ năng lập trình siêu việt không phải điều đơn giản. Chúng ta cần phải thường xuyên luyện tập code, update các kiến thức về lập trình, tư duy logic và thuật toán.

Dưới đây, tôi xin giới thiệu 1000 bài tập lập trình C/C++ từ cơ bản tới nâng cao cho các bạn luyện tập. 

Bài tập được tham khảo từ website https://codingquiz.net/

Bài viết này dành cho các bạn đã có kiến thức cơ bản về ngôn ngữ lập trình C/C++

Phần I: Bài tập C cơ bản

(Trước khi làm bài tập phần này, các bạn nên bổ sung và xem lại kiến thức về câu lệnh if/else, vòng lặp for, while,)

In ra màn hình dòng chữ Hello World

Chuyển đổi từ nhiệt độ Fahreneit sang Selsius

Tính tổng bình phương của 2 số

Xác định góc phần tư thứ mấy trên đường tròn lượng giác

Tính tổng nguyên: S = 1 + 1/2 + 1/3 + 1/4 +… 1/n

Tính tổng S(n) = 1+2+3+4+ … +n

Tính tổng S(n) = 1^2 + 2^2 + … + n^2

Tính tổng S(n) = 1/2 + 1/4 + 1/6 + 1/8 + 1/2n

Tính tổng S(n) = 1 + 1/3 + 1/5 + 1/(2n+1)

Tính tổng S(n) = 1/(1*2) + 1/(2*3) + … +1/(n*(n+1))

Tính tổng S(n) = 1/2 + 3/4 + 5/6 +…+ (2n+1)/(2n+2)

Tính tổng S(n) = 1 + 1.2 + 1.2.3 + … + 1.2…n

Tính tổng S(x, n) = x + x^2 + x^3 +…+ x^n

Tính tổng S(x, n) = x^2 + x^4 + x^6 +…+ x^2n

Tính tổng S(x, n) = x + x^3 + x^5 +…+ x^(2n+1)

Tính tổng S(n) = 1 + 1/(1+2) + 1/(1+2+3) +…+ 1/(1+2+3+…+n)

Kiểm tra số nguyên 4 byte có dạng 2^k không?

Tìm giá trị lớn nhất của 2 số

Tìm giá trị lớn nhất của 4 số a,b,c,d

Kiểm tra sự tồn tại của 1 tam giác

Giải phương trình bậc nhất

Giải phương trình bậc hai

Tìm ước số chung và bội số chung nhỏ nhất của 2 số a,b

Tách các chữ số thuộc hàng trăm, hàng chục, hàng đơn vị

In ra số Hex của số nguyên dương tương ứng

Tìm số Amstrong

Tính giai thừa số nguyên dương

Tính giai thừa cách

Tính diện tích, chu vi tam giác, đường tròn, hcn

Kiểm tra số N có phải là số nguyên tố không?

Liệt kê các số nguyên tố nhỏ hơn N

Tìm số hoàn hảo

In dãy số Fibonanci

Tính cước taxi

Giải hệ phương trình bậc nhất

In ra bảng cửu chương

Tính sinx

Tính cosx

Tính e mũ x

Tính hằng số PI = 3.14

Hiển thị tam giác pascal

Hiển thị hình sao

Chuyển đổi từ số la mã sang số thập phân

Hàm swap

Tính tổng các chữ số trong 1 số

Đổi từ hệ nhị phân sang hệ thập phân

Đổi từ hệ thập phân sang nhị phân

Kiểm tra năm nhuận

Đảo ngược các chữ số trong 1 số

Kiểm tra số đối xứng hay không?

Lịch vạn niên

Hướng dẫn đọc số bằng tiếng anh

Phần II: Bài tập phần mảng 1 chiều

(Trước khi làm bài tập phần này, các bạn nên bổ sung và xem lại kiến thức về  mảng 1 chiều, câu lệnh if/else, vòng lặp for, while, break)

In ra phần tử âm của mảng

In ra các phần tử có giá trị lẻ của mảng

In ra các phần tử chẵn và nhỏ hơn 20

Tìm vị trí phần tử có giá trị x xuất hiện cuối cùng trong mảng

Tìm vị trí của phần tử nhỏ nhất trong mảng 1 chiều

Tìm vị trí của phần tử lớn nhất trong mảng 1 chiều

Tính tổng các phần tử ở vị trí chẵn trong mảng 1 chiều

Tìm phần tử trong mảng gần giá trị x nhất

Tìm phần tử của mảng cách xa nhất giá trị x

Tìm đoạn [a, b] chứa các giá trị phần tử của mảng

Tìm đoạn [-x, x] chứa toàn bộ phần tử trong mảng

Tìm phần tử đầu tiên của mảng lớn hơn 2016

Tìm phần tử cuối cùng trong mảng lớn hơn -1

Tìm phần tử đầu tiên trong mảng nằm trong khoảng (x, y)

Tìm số chính phương đầu tiên trong mảng số nguyên

Tìm phần tử đầu tiên trong mảng nguyên có chữ số đầu là lẻ

Tìm phần tử đầu tiên có dạng 2^k

Tìm phần tử có giá trị lớn nhất và có chứa toàn chữ số lẻ

Tính tổng các phần tử cực đai trong mảng số nguyên

Tính tổng các phần tử cực tiểu trong mảng

Sắp xếp mảng theo thứ tự giảm dần

Sắp xếp các phần tử chẵn giảm dần

Sắp xếp các phần tử âm dương trong mảng

Xóa phần tử tại vị trí lẻ trong mảng

Xóa phần tử có giá trị lớn nhất trong mảng

Xóa tất cả các phần tử nhỏ hơn X

Xóa phần tử có giá trị gần X nhất

Chèn X vào vị trí đầu của mảng 1 chiều

Chèn X vào phía sau phần tử có giá trị lớn nhất trong mảng

Chèn phần tử X vào tất cả các phần tử chẵn của mảng

Tách 1 mảng thành 2 mảng chẵn và lẻ

Nối 2 mảng số nguyên

Kiểm tra phần tử mảng 1 chiều khi nhập từ bàn phím

Chỉ ra số hạng lớn thứ k của mảng

Kiểm tra dãy A có phải là con của dãy B không?

Tính tổng tất cả các phần tử xung quanh trong mảng

Xóa các phần tử trùng với X trong mảng 1 chiều

Chèn X vào dãy sao cho dãy vẫn có thứ tự tăng dần

Tìm phần tử xuất hiện nhiều nhất trong mảng số nguyên

Đảo ngược dãy số

Kiểm tra tính đối xứng của mảng

Phần III: Bài tập về ma trận

Cộng 2 ma trận

Nhân 2 ma trận

Tính định thức ma trận

Kiểm tra ma trận A có phải ma trận con của B không

Đếm số lần xuất hiện ma trận A trong ma trận B

Đếm giá trị nhỏ nhất trong ma trận số nguyên

Tìm phần tử xuất hiện nhiều nhất trong ma trận

Tĩm chữ số xuất hiện nhiều nhất trong ma trận số nguyên

Liệt kê các dòng có tổng các phần tử là lớn nhất trong ma trận

Liệt kê các cột có nhiều chữ số nhất trong ma trận

Hoán vị 2 cột trên ma trận

Hoán vị 2 dòng trên ma trận

Xoay ma trận 90 độ

Xoay ma trận 180 độ

Xoay ma trận 270 độ

Xóa dòng trong ma trận

Xóa cột trong ma trận

Tính tổng các số dương trong ma trận số thực

Tính tổng các giá trị lẻ trong mảng số nguyên

Tính tổng các giá trị trên 1 dòng ma trận số thực

Tính tích các giá trị dương trên 1 cột ma trận số thực

Tính trung bình cộng các số dương trong ma trận

Đếm số phần tử dương trong ma trận số thực

Đếm số chữ số trong ma trận các số dương

Đếm số phần tử dương trên biên của ma trận

Đếm số lượng phần tử cực đại trong ma trận số thực

Đếm phần tử cực trị trong ma trận

Đếm số lượng giá trị có trong ma trận số thực

Tính tổng các phần tử cực trị trong ma trận

Đếm các giá trị yên ngựa trong ma trận

Kiểm tra ma trận có chữ số lẻ không

Kiểm tra 1 hàng trong ma trận có tăng dần hay không

Kiểm tra 1 cột trong ma trận có giảm dần không

Kiểm tra ma trận có giảm dần theo hàng và cột hay không

Liệt kê các dòng toàn âm trong ma trận

Liệt kê các dòng chứa toàn giá trị chẵn trong ma trận

Liệt kê các dòng giảm dần trong ma trận

Phần IV: Bài tập xử lí chuỗi

Tính độ dài chuỗi

Đảo các kí tự của chuỗi

Đếm số từ trong 1 chuỗi

Remove space trong chuỗi

Tìm vị trí kí tự xuất hiện đầu tiên trong chuỗi

Tìm vị trí xuất hiện của kí tự c trong chuỗi s

Tìm chuỗi con trong 1 chuỗi

Kiểm tra tính đối xứng của chuỗi

Thay thế kí tự trong chuỗi

Đổi kí tự đầu tiên của mỗi từ thành chữ in hoa

Đếm số lần xuất hiện của kí tự c trong chuỗi s

Thay thế kí tự bất kì trong chuỗi bằng kí tự mới

Phần V: Bài tập struct

Sử dụng struct để biểu diễn và hiển thị giờ, phút, giây

Biểu diễn số phức bằng struct

Biểu diễn phân số bằng struct

Quản lý sinh viên bằng struct

Phần VI: Bài tập đọc/ghi file

Tạo 1 tệp tin văn bản chứa dãy số nguyên bất kì

 Đọc ghi file nhị phân

Chương trình đọc ghi file chứa các số nguyên

Tính tổng các phần tử trong mảng và ghi ra file

Phần VII: Bài tập hướng đối tượng C++

Xây dựng lớp hình tròn dẫn xuất từ lớp điểm

Xây dựng lớp Nguoi, lớp dẫn xuất Nhanvien kế thừa từ lớp Nguoi

Xây dựng lớp tam giác và hình chữ nhật kế thừa từ đa giác

Xây dựng 1 lớp biểu diễn xâu kí tự có các hàm tạo và hàm hủy cần thiết

Xây dựng lớp đối tượng sách trong thư viện

Viết 1 lớp biểu diễn hình chữ nhật có các thuộc tính là 2 cạnh

Xây dựng lớp Date mô tả thông tin ngày, tháng, năm

Xây dựng một lớp Time mô tả thông tin về giờ, phút giây

Xây dựng hàm bạn để tính diện tích hình chữ nhật

Xây dựng lớp stack cho số nguyên

Xây dựng lớp mô tả bảng thi đấu bóng đá