Lập trình tính và đưa ra màn hình diện tích phân bôi đen của hình bên

90 / 100

Chào tất cả các bạn, trong bài viết này mình xin chia sẻ tới các bạn độc giả bộ 1000 bài tập lập trình của thầy Nguyễn Tấn Trần Minh Khang. Bạn đọc hãy tải file đề bài về luyện tập. Sau đó hãy tham khảo lời giải bằng cách click vào từng đề bài, một link sẽ mở ra chứa source code là đáp án của bài tập tương ứng. Chúc các bạn học tập thật tốt!

Nếu bạn đang có nhu cầu học lập trình C từ đầu miễn phí, hãy tham gia khóa học Học C Bá Đạo của mình nhé.

Đề bài 1000 bài tập lập trình của thầy Khang

Dưới đây là đề bài 1000 bài tập lập trình C của thầy Nguyễn Tấn Trần Minh Khang đã được tổng hợp thành một file pdf. Các bạn chỉ cần download nó về là sẽ xem được toàn bộ đề bài của 1000 bài tập này.

Lập trình tính và đưa ra màn hình diện tích phân bôi đen của hình bên
Hình ảnh 10 bài tập đầu tiên trong tập 1000 Bài Tập Của Thầy Nguyễn Tấn Trần Minh Khang

Nguồn đề bài: Từ Gia Lộc

Giờ đây bạn có thể luyện tập các bài tập lập trình và biết được code của bạn đúng hay sai qua hệ thống chấm code mới của chúng tôi.

Thử ngay nào » Luyện Code Online

Lời giải 1000 bài tập của thầy Khang

Dưới đây là lời giải 1000 bài tập của thầy Khang theo từng chương. Các bạn có thể tham khảo trong trường hợp chưa tìm ra hướng giải cũng như tham khảo cách làm, phương pháp tiếp cận bài toán để học được nhiều hơn.

Chương 1: Lưu đồ thuật toán

  • Bài 1: Tính S(n) = 1 + 2 + 3 + … + n
  • Bài 2: Tính S(n) = 1^2 + 2^2 + … + n^2
  • Bài 3: Tính S(n) = 1 + ½ + 1/3 + … + 1/n
  • Bài 4: Tính S(n) = ½ + ¼ + … + 1/2n
  • Bài 5: Tính S(n) = 1 + 1/3 + 1/5 + … + 1/(2n + 1)
  • Bài 6: Tính S(n) = 1/1×2 + 1/2×3 +…+ 1/n x (n + 1)
  • Bài 7: Tính S(n) = ½ + 2/3 + ¾ + …. + n / n + 1
  • Bài 8: Tính S(n) = ½ + ¾ + 5/6 + … + 2n + 1/ 2n + 2
  • Bài 9: Tính T(n) = 1 x 2 x 3…x N
  • Bài 10: Tính T(x, n) = x^n
  • Bài 11: Tính S(n) = 1 + 1.2 + 1.2.3 + … + 1.2.3….N
  • Bài 12: Tính S(n) = x + x^2 + x^3 + … + x^n
  • Bài 13: Tính S(n) = x^2 + x^4 + … + x^2n
  • Bài 14: Tính S(n) = x + x^3 + x^5 + … + x^2n + 1
  • Bài 15: Tính S(n) = 1 + 1/1 + 2 + 1/ 1 + 2 + 3 + ….. + 1/ 1 + 2 + 3 + …. + N
  • Bài 16: Tính S(n) = x + x^2/1 + 2 + x^3/1 + 2 + 3 + … + x^n/1 + 2 + 3 + …. + N
  • Bài 17: Tính S(n) = x + x^2/2! + x^3/3! + … + x^n/N!
  • Bài 18: Tính S(n) = 1 + x^2/2! + x^4/4! + … + x^2n/(2n)!
  • Bài 19: Tính S(n) = 1 + x + x^3/3! + x^5/5! + … + x^(2n+1)/(2n+1)!
  • Bài 20: Liệt kê tất cả các “ước số” của số nguyên dương n
  • Bài 21: Tính tổng tất cả các “ ước số” của số nguyên dương n
  • Bài 22:Tính tích tất cả các “ước số” của số nguyên dương n
  • Bài 23: Đếm số lượng “ước số” của số nguyên dương n
  • Bài 24: Liệt kê tất cả các “ước số lẻ” của số nguyên dương n
  • Bài 25: Tính tổng tất cả các “ước số chẵn” của số nguyên dương n
  • Bài 26: Tính tích tất cả các “ước số lẻ” của số nguyên dương n
  • Bài 27: Đếm số lượng “ước số chẵn” của số nguyên dương n
  • Bài 28: Cho số nguyên dương n. Tính tổng các ước số nhỏ hơn chính nó
  • Bài 29: Tìm ước số lẻ lớn nhất của số nguyên dương n. Ví dụ n = 100 ước lẻ lớn nhất là 25
  • Bài 30: Cho số nguyên dương n. Kiểm tra xem n có phải là số hoàn thiện hay không
  • Bài 31: Cho số nguyên dương n. Kiểm tra xem n có phải là số nguyên tố hay không
  • Bài 32: Cho số nguyên dương n. Kiểm tra xem n có phải là số chính phương hay không
  • Bài 33: Tính S(n) = CanBac2(2+CanBac2(2+….+CanBac2(2 + CanBac2(2)))) có n dấu căn
  • Bài 34: Tính S(n) = CanBac2(n+CanBac2(n – 1 + CanBac2( n – 2 + … + CanBac2(2 + CanBac2(1)  có n dấu căn
  • Bài 36: Tính S(n) = CanBac2(n! + CanBac2((n-1)! +CanBac2((n – 2)! + … + CanBac2(2!) + CanBac2(1!)))) có n dấu căn
  • Bài 37: Tính S(n) = CanBac N(N + CanBac N – 1(N – 1 + … + CanBac3(3 + CanBac2(2))) có n – 1 dấu căn
  • Bài 38: Tính S(n) = CanBac N + 1(N + CanBac N(N – 1 +…+CanBac3(2 + CanBac2(1)))) có n dấu căn
  • Bài 39: Tính S(n) = CanBac N + 1(N! + CanBacN((N – 1)! + … + CanBac3(2! + CanBac2(1!))) có n dấu căn
  • Bài 40: Tính S(n) = CanBac2(x^n + CanBac2(x^n-1 + … + CanBac2(x^2 + CanBac2(x)))) có n dấu căn
  • Bài 41: Tính S(n) = 1 / (1 + 1 / ( 1 + 1 / (…. 1 + 1 / 1 + 1))) có n dấu phân số
  • Bài 42: Cho n là số nguyên dương. Hãy tìm giá trị nguyên dương k lớn nhất sao cho S(k)  < n. Trong đó chuỗi k được định nghĩa như sau: S(k) = 1 + 2 + 3 + … + k
  • Bài 43: Hãy đếm số lượng chữ số của số nguyên dương n
  • Bài 44: Hãy tính tổng các chữ số của số nguyên dương n
  • Bài 45: Hãy tính tích các chữ số của số nguyên dương n
  • Bài 46: Hãy đếm số lượng chữ số lẻ của số nguyên dương n
  • Bài 47: Hãy tính tổng các chữ số chẵn của số nguyên dương n
  • Bài 48: Hãy tính tích các chữ số lẻ của số nguyên dương n
  • Bài 49: Cho số nguyên dương n. Hãy tìm chữ số đầu tiên của n
  • Bài 50: Hãy tìm số đảo ngược của số nguyên dương n
  • Bài 51: Tìm chữ số lớn nhất của số nguyên dương n
  • Bài 52: Tìm chữ số nhỏ nhất của số nguyên dương n
  • Bài 53: Hãy đếm số lượng chữ số lớn nhất của số nguyên dương n
  • Bài 54: Hãy đếm số lượng chữ số nhỏ nhất của số nguyên dương n
  • Bài 56: Hãy kiểm tra số nguyên dương n có toàn chữ số lẻ hay không
  • Bài 57: Hãy kiểm tra số nguyên dương n có toàn chữ số chẵn hay không
  • Bài 59: Hãy kiểm tra số nguyên dương n có phải là số đối xứng hay không
  • Bài 60: Hãy kiểm tra các chữ số của số nguyên dương n có tăng dần từ trái sang phải hay không
  • Bài 61: Hãy kiểm tra các chữ số của số nguyên dương n có giảm dần từ trái sang phải hay không
  • Bài 62: Cho 2 số nguyên dương a và b. Hãy tìm ước chung lớn nhất của 2 số này.
  • Bài 63: Cho 2 số nguyên dương a và b. Hãy tìm bội chung nhỏ nhất của 2 số này
  • Bài 64 + 65 + 66: Giải phương trình bậc 1, 2, 4
  • Bài 67: Tính S(x, n) = x – x^2 + x^3 + … + (-1)^n+1 * x^n
  • Bài 68: Tính S(x, n) = -x^2 + x^4  + … + (-1)^n * x^2n
  • Bài 69: Tính S(x, n) = x – x^3 + x^5 + … + (-1)^n * x^2n+1
  • Bài 70: Tính S(n) = 1 – 1/(1 + 2) + 1/(1 + 2 + 3)  + … + (-1)^n+1 * 1/(1 + 2 + 3+ … + n)
  • Bài 71: Tính S(x, n) = -x + x^2/(1 + 2) – x^3/(1 + 2 + 3) + … + (-1)^n * x^n/(1 + 2 +… + n)
  • Bài 72: Tính S(x, n) = – x + x^2/2! – x^3/3! + … + (-1)^n * x^n/n!
  • Bài 73: Tính S(x, n) = -1 + x^2/2! – x^4/4! + … + (-1)^n+1 * x^2n/(2n)!
  • Bài 74: Tính S(x, n) = 1 – x + x^3/3! – x^5/5! + … + (-1)^n+1 * x^2n+1/(2n + 1)!
  • Bài 75: Kiểm tra số nguyên 4 byte có dạng 2^k hay không
  • Bài 76: Kiểm tra số nguyên 4 byte có dạng 3^k hay không

Chương 2: Lập trình với ngôn ngữ C

  • Bài 77: Viết chương trình tính tổng của dãy số sau: S(n) = 1 + 2 + 3 + … + n
  • Bài 78: Liệt kê tất cả các ước số của số nguyên dương n
  • Bài 79: Hãy đếm số lượng chữ số của số nguyên dương n
  • Bài 80: Giống bài 16
  • Chương 3: Các cấu trúc điều khiển
  • Bài 82: Viết chương trình tìm số lớn nhất trong 3 số thực a, b, c
  • Bài 83: Viết chương trình nhập 2 số thực, kiểm tra xem chúng có cùng dấu hay không
  • Bài 84: Viết chương trình giải và biện luận phương trình bậc nhất ax + b = 0
  • Bài 85: Nhập vào tháng của 1 năm. Cho biết tháng thuộc quý mấy trong năm
  • Bài 86: Tính S(n) = 1^3 + 2^3 + … + N^3
  • Bài 87: Tìm số nguyên dương n nhỏ nhất sao cho 1 + 2 + … + n > 10000
  • Bài 88: Hãy sử dụng vòng lặp for để xuất tất cả các ký tự từ A đến Z
  • Bài 89: Viết chương trình tính tổng các giá trị lẻ nguyên dương nhỏ hơn N
  • Bài 90: Viết chương trình tìm số nguyên dương m lớn nhất sao cho 1 + 2 + … + m < N
  • Bài 91: In tất cả các số nguyên dương lẻ nhỏ hơn 100
  • Bài 92: Tìm ước số chung lớn nhất của 2 số nguyên dương
  • Bài 93: Viết chương trình kiểm tra 1 số có phải là số nguyên tố hay không
  • Bài 94: Viết chương trình in ra tất cả các số lẻ nhỏ hơn 100 trừ các số 5, 7, 93
  • Bài 95: Viết chương trình nhập 3 số thực. Hãy thay tất cả các số âm bằng trị tuyệt đối của nó
  • Bài 96: Viết chương trình nhập giá trị x sau tính giá trị của hàm số
  • f(x) = 2x^2 + 5x + 9 khi x >= 5, f(x) = -2x^2 + 4x – 9 khi x < 5
  • Bài 97: Viết chương trình nhập 3 cạnh của 1 tam giác, cho biết đó là tam giác gì
  • Bài 98: Lập chương trình giải hệ: ax + by = c, Dx + ey = f. Các hệ số nhập từ bàn phím
  • Bài 99: Viết chương trình nhập vào 3 số thực. Hãy in 3 số ấy ra màn hình theo thứ tự tang dần mà chỉ dùng tối đa 1 biến phụ
  • Bài 100: Viết chương trình giải phương trình bậc 2
  • Bài 101: Viết chương trình nhập tháng, năm. Hãy cho biết tháng đó có bao nhiêu ngày
  • Bài 102: Viết chương trình nhập vào 1 ngày ( ngày, tháng, năm). Tìm ngày kế ngày vừa nhập (ngày, tháng, năm)
  • Bài 103: Viết chương trình nhập vào 1 ngày ( ngày, tháng, năm). Tìm ngày trước ngày vừa nhập (ngày, tháng, năm)
  • Bài 104: Viết chương trình nhập ngày, tháng, năm. Tính xem ngày đó là ngày thứ bao nhiêu trong năm
  • Bài 105: Viết chương trình nhập 1 số nguyên có 2 chữ số.  Hãy in ra cách đọc của số nguyên này
  • Bài 106 Viết chương trình nhập 1 số nguyên có 3 chữ số.  Hãy in ra cách đọc của số nguyên này
  • Bài 107: Viết hàm tính S = CanBacN(x)
  • Bài 108:  Viết hàm tính S = x^y
  • Bài 109: Viết chương trình in bảng cửu chương ra màn hình
  • Bài 110: Cần có tổng 200000 đồng từ 3 loại giấy bạc 1000 đồng, 2000 đồng, 5000 đồng. Lập chương trình để tìm ra tất cả các phương án có thể
  • Bài 111: Viết chương trình in ra tam giác cân có độ cao h
    1. Tam giác cân đặc nằm giữa màn hình
    2. Tam giác cân rỗng nằm giữa màn hình
    3. Tam giác  vuông cân đặc
    4. Tam giác  vuông cân rỗng
  • Bài 112: Viết chương trình in ra hình chữ nhật có kích thước m x n
    1. Hình chữ nhật đặc
    2. Hình chữ nhật rỗng

Chương 4: Hàm

Chương 5: Mảng một chiều

Kỹ thuật nhập, xuất mảng

Kỹ thuật đặt lính canh, các bài tập cơ bản

Các bài tập luyện tập

Bài tập luyện tập tư duy

Các bài tập tìm kiếm và liệt kê

Kỹ thuật tính tổng

Kỹ thuật đếm

  • Bài 216: Đếm số lượng số chẵn trong mảng
  • Bài 217: Đếm số dương chia hết cho 7 trong mảng
  • Bài 218: Đếm số đối xứng trong mảng
  • Bài 219: Đếm số lần xuất hiện của giá trị x trong mảng
  • Bài 220: Đếm số lượng giá trị tận cùng bằng 5 trong mảng
  • Bài 221: Cho biết sự tương quan giữa số lượng chẵn và lẻ trong mảng
    • Hàm trả về 1 trong 3 giá trị -1, 0, 1
    • Giá trị -1 là chẵn nhiều hơn lẻ
    • Giá trị 0 là chẵn bằng lẻ
    • Giá trị 1 là chẵn ít hơn lẻ
  • Bài 222: Đếm phần tử lớn hơn hay nhỏ hơn phần tử xung quanh mảng
  • Bài 223: Đếm số nguyên tố trong mảng
  • Bài 224: Đếm số hoàn thiện trong mảng
  • Bài 225: Đếm số lượng giá trị lớn nhất có trong mảng
  • Bài 226: Hãy xác định số lượng phần tử kề nhau mà cả 2 đều chẵn
  • Bài 227: Hãy xác định số lượng phần tử kề nhau mà cả 2 trái dấu
  • Bài 228: Hãy xác định số lượng phần tử kề nhau mà số đứng sau cùng dấu số đứng trước
  • và có giá trị tuyệt đối lớn hơn
  • Bài 229: Đếm số lượng các giá trị phân biệt có trong mảng
  • Bài 230: Liệt kê tần suất xuất hiện các giá trị trong mảng (mỗi giá trị liệt kê 1 lần)
  • Bài 231: Hãy liệt kê các giá trị xuất hiện trong mảng 1 chiều các số nguyên đúng 1 lần
  • Bài 232: Hãy liệt kê các giá trị xuất hiện trong dãy quá 1 lần. Lưu ý: mỗi giá trị liệt kê 1 lần
  • Bài 233: Hãy liệt kê tần suất của các giá trị xuất hiện trong dãy. Lưu ý: mỗi giá trị liệt kêt tần suất 1 lần
  • Bài 234: Cho 2 mảng a, b. Đếm số lượng giá trị chỉ xuất hiện 1 trong 2 mảng
  • Bài 235: Cho 2 mảng a, b. Liệt kê các giá trị chỉ xuất hiện 1 trong 2 mảng
  • Bài 236(*): Cho 2 mảng a, b. Hãy cho biết số lần xuất hiện của mảng a trong mảng b
  • Bài 237 + 238(*): Hãy liệt kê các giá trị có số lần xuất hiện nhiều nhất trong mảng
  • Bài 239: Hãy đếm số lượng số nguyên tố phân biệt trong mảng
  • Bài 240: Kiểm tra mảng có giá trị 0 hay không? Có trả về 1, không có trả về 0
  • Bài 241: Kiểm tra mảng có 2 giá trị 0 liên tiếp hay không? Có trả về 1, không có trả về 0
  • Bài 242: Kiểm tra mảng có số chẵn hay không? Có trả về 1, không có trả về 0
  • Bài 243: Kiểm tra mảng có số nguyên tố hay không? Có trả về 1, không có trả về 0
  • Bài 244: Kiểm tra mảng thỏa tính chất: mảng không có số hoàn thiện lớn hơn 256. Có trả về 1, không có trả về 0
  • Bài 245: Kiểm tra mảng có toàn số chẵn không? Có trả về 1, không có trả về 0
  • Bài 246: Kiểm tra mảng có đối xứng không? Có trả về 1, không có trả về 0
  • Bài 247: Ta định nghĩa 1 mảng có tính chất lẻ, khi tổng của 2 phần tử liên tiếp luôn là lẻ. Kiểm tra mảng có tính chất lẻ hay không
  • Bài 248: Kiểm tra mảng có tăng dần hay không
  • Bài 249: Kiểm tra mảng có giảm dần hay không
  • Bài 250: Hảy cho biết các phần tử trong mảng có lập thành cấp số cộng hay không? Nếu có chỉ ra công sai d
  • Bài 251: Hãy cho biết các phần tử trong mảng có bằng nhau không
  • Bài 252: Ta định nghĩa 1 mảng được gọi là dạng song, khi phần tử có trị số I lớn hơn hoặc nhỏ hơn 2 phần tử xung quanh. Hãy viết hàm kiểm tra mảng có dạng sóng không
  • Bài 253: Hãy cho biết tất cả các phần tử trong mảng a có nằm trong mảng b không
  • Bài 254: Hãy đếm giá trị trong mảng thỏa: lớn hơn tất cả các giá trị đứng đằng trước nó

Kỹ thuật sắp xếp

Kỹ thuật thêm

Kỹ thuật xóa

Kỹ thuật xử lý mảng

Kỹ thuật xử lý mảng con

Xây dựng mảng

Chương 6: Ma trận

Kỹ thuật tính toán

Kỹ thuật đếm

Kỹ thuật đặt cờ hiệu

Kỹ thuật đặt lính canh

Kỹ thuật xử lý ma trận

Sắp xếp ma trận

Xây dựng ma trận

Chương 7: Ma trận vuôn

Tính toán

Kỹ thuật đặt lính canh

Kỹ thuật đếm

Kỹ thuật đặt cờ hiệu

Sắp xếp

Các phép toán trên ma trận

Chương 8: Trừu tượng hóa dữ liệu

Đơn thức

  • Bài 486: Tính tích 2 đơn thức
  • Bài 487: Tính đạo hàm cấp 1 đơn thức
  • Bài 488: Tính thương 2 đơn thức
  • Bài 489: Tính đạo hàm cấp k đơn thức
  • Bài 490: Tính giá trị đơn thức tại vị trí x=x0
  • Bài 491: Định nghĩa toán tử (operator *) cho 2 đơn thức
  • Bài 492: Định nghĩa toán tử (operator /) cho 2 đơn thức

SourceCode

Đa thức

  • Bài 493: Tính hiệu 2 đa thức
  • Bài 494: Tính tổng 2 đa thức
  • Bài 495: Tính tích 2 đa thức
  • Bài 496: Tính thương 2 đa thức
  • Bài 497: Tính đa thức dư của phép chia đa thức thứ nhất cho đa thức thứ hai
  • Bài 498: Tính đạo hàm cấp 1 của đa thức
  • Bài 499: Tính đạo hàm cấp k của đa thức
  • Bài 500: Tính giá trị của đa thức tại vị trí x = x0
  • Bài 501: Định nghĩa toán tử cộng (operator +) cho hai đa thức
  • Bài 502: Định nghĩa toán tử trừ (operator -) cho hai đa thức
  • Bài 503: Định nghĩa toán tử nhân (operator *) cho hai đa thức
  • Bài 504: Định nghĩa toán tử thương (operator /) cho hai đa thức
  • Bài 505: Tìm nghiệm của đa thức trong đoạn [a, b] cho trước

SourceCode (còn 1 số câu chưa test)

Phân Số

  • Bài 506: rút gọn phân số
  • Bài 507: Tính tổng 2 phân số
  • Bài 508: Tính hiệu 2 phân số
  • Bài 509: Tính tích 2 phân số
  • Bài 510: Tính thương 2 phân số
  • Bài 511: Kiểm tra phân số tối giản
  • Bài 512: Qui đồng phân số
  • Bài 513: Kiểm tra phân số dương
  • Bài 514: Kiểm tra phân số âm
  • Bài 515: So sánh 2 phân số: hàm trả về 1 trong 3 giá trị: 0,-1,1
  • Bài 516: Định nghĩa toán tử operator + cho 2 phân số
  • Bài 517: Định nghĩa toán tử operator – cho 2 phân số
  • Bài 518: Định nghĩa toán tử operator * cho 2 phân số
  • Bài 519: Định nghĩa toán tử operator / cho 2 phân số
  • Bài 520: Định nghĩa toán tử operator ++ cho 2 phân số
  • Bài 521: Định nghĩa toán tử operator — cho 2 phân số

SourceCode

Hỗn Số

  • Bài 522: Khai báo dữ liệu để biểu diễn thông tin của một hỗn số
  • Bài 523 Nhập hỗn số
  • Bài 524 Xuất hỗn số
  • Bài 525 Rút gọn hỗn số
  • Bài 526 Tính tổng 2 hỗn số
  • Bài 527 Tính hiệu 2 hỗn số
  • Bài 528 Tính tích 2 hỗn số
  • Bài 529 Tính thương 2 hỗn số
  • Bài 530 Kiểm tra hỗn số tối giản
  • Bài 531 Qui đồng 2 hỗn số

SourceCode

Số phức

  • Bài 532: Khai báo biểu diễn thông tin số phức
  • Bài 533: Nhập số phức
  • Bài 534: Xuất số phức
  • Bài 535: Tính tổng 2 số phức
  • Bài 536: Tính hiệu 2 số phức
  • Bài 537: Tính tích 2 số phức
  • Bài 538: Tính thương 2 số phức
  • Bài 539: Tính lũy thừa bậc n số phức

SourceCode

Điểm trong mặt phẳng Oxy

  • Bài 540: khai báo dữ liệu điểm OXY
  • Bài 541: Nhập tọa độ điểm trong mặt phẳng
  • Bài 542: Xuất tọa độ điểm trong mặt phẳng
  • Bài 543: Tính khoảng cách giữa 2 điểm
  • Bài 544: Tính khoảng cách 2 điểm theo phương Ox
  • Bài 545: Tính khoảng cách 2 điểm theo phương Oy
  • Bài 546: Tìm tọa độ điểm đối xứng qua gốc tọa độ
  • Bài 547: Tìm điểm đối xứng qua trục hoành
  • Bài 548: Tìm điểm đối xứng qua trục tung
  • Bài 549: Tìm điểm đối xứng qua đường phân giác thứ 1 (y=x)
  • Bài 550: Tìm điểm đối xứng qua đường phân giác thứ 2 (y=-x)
  • Bài 551: Kiểm tra điểm thuộc phần tư thứ 1 ko?
  • Bài 552: Kiểm tra điểm thuộc phần tư thứ 2 ko?
  • Bài 553: Kiểm tra điểm thuộc phần tư thứ 3 ko?
  • Bài 554: Kiểm tra điểm thuộc phần tư thứ 4 ko?

SourceCode

Điểm trong không gian Oxyz

  • Bài 555: Khai báo kiểu dữ liệu biểu diễn tọa độ điểm trong không gian Oxyz
  • Bài 556: Nhập tọa độ điểm trong không gian Oxyz
  • Bài 557: Xuất tọa độ điểm theo định dạng (x, y, z)
  • Bài 558: Tính khoảng cách giữa 2 điểm trong không gian
  • Bài 559: Tính khoảng cách giữa 2 điểm trong không gian theo phương x
  • Bài 560: Tính khoảng cách giữa 2 điểm trong không gian theo phương y
  • Bài 561: Tính khoảng cách giữa 2 điểm trong không gian theo phương z
  • Bài 562: Tìm tọa độ điểm đối xứng qua gốc tọa độ
  • Bài 563: Tìm tọa độ điểm đối xứng qua mặt phẳng Oxy
  • Bài 564: Tìm tọa độ điểm đối xứng qua mặt phẳng Oxz
  • Bài 565: Tìm tọa độ điểm đối xứng qua mặt phẳng Oyz

SourceCode

Đường tròn trong mặt phẳng Oxy

  • Bài 566: Khai báo kiểu dữ liệu để biểu diễn đường tròn
  • Bài 567: Nhập đường tròn
  • Bài 568: Xuất đường tròn theo định dạng ((x, y), r)
  • Bài 569: Tính chu vi đường tròn
  • Bài 570: Tính diện tích đường tròn
  • Bài 571: Xét vị trí tương đối giữa 2 đường tròn( không cắt nhau, tiếp xúc, cắt nhau)
  • Bài 572: Kiểm tra 1 tọa độ điểm có nằm trong đường tròn hay không
  • Bài 573: Cho 2 đường tròn. Tính diện tích phần mặt phẳng bị phủ bởi 2 đường tròn đó

SourceCode

Hình cầu trong không gian Oxyz

  • Bài 574: Khai báo kiểu dữ liệu để biểu diễn hình cầu trong không gian Oxyz
  • Bài 575: Nhập hình cầu
  • Bài 576: Xuất hình cầu theo định dạng ((x, y, z), r)
  • Bài 577: Tính diện tích xung quanh hình cầu
  • Bài 578: Tính thể tích hình cầu
  • Bài 579: Xét vị trí tương đối giữa 2 hình cầu(không cắt nhau, tiếp xúc, cắt nhau)
  • Bài 580: Kiểm tra 1 tọa độ điểm có nằm bên trong hình cầu hay không

SourceCode

Tam giác trong mặt phẳng Oxy

  • Bài 581: Khai báo kiểu dữ liệu để biểu diễn tam giác trong mặt phẳng Oxy
  • Bài 582: Nhập tam giác
  • Bài 583: Xuất tam giác theo định dạng ((x1, y1); (x2, y2); (x3, y3))
  • Bài 584: Kiểm tra tọa độ 3 đỉnh có thật sự lập thành 3 đỉnh của 1 tam giác không
  • Bài 585: Tính chu vi tam giác
  • Bài 586: Tính diện tích tam giác
  • Bài 587: Tìm tọa độ trọng tâm tam giác
  • Bài 588: Tìm 1 đỉnh trong tam giác có hoành độ lớn nhất
  • Bài 589: Tìm 1 đỉnh trong tam giác có tung độ nhỏ nhất
  • Bài 590: Tính tổng khoảng cách từ điểm P(x, y) tới 3 đỉnh của tam giác
  • Bài 591: Kiểm tra 1 tọa độ điểm có nằm trong tam giác hay không
  • Bài 592: Hãy cho biết dạng của tam giác(đều, vuông, vuông cân, cân, thường)

SourceCode

Ngày

  • Bài 593: Khai báo kiểu dữ liệu để biểu diễn ngày
  • Bài 594: Nhập ngày
  • Bài 595: Xuất ngày theo định dạng (ng/th/nm)
  • Bài 596: Kiểm tra năm nhuận
  • Bài 597: Tính số thứ tự ngày trong năm
  • Bài 598: Tính số thứ tự ngày kể từ ngày 1/1/1
  • Bài 599: Tìm ngày khi biết năm và số thứ tự của ngày trong năm
  • Bài 600: Tìm ngày khi biết số thứ tự ngày kể từ ngày 1/1/1
  • Bài 601: Tìm ngày kế tiếp
  • Bài 602: Tìm ngày hôm qua
  • Bài 603: Tìm ngày kế đó k ngày
  • Bài 604: Tìm ngày trước đó k ngày
  • Bài 605: Khoảng cách giữa 2 ngày
  • Bài 606: So sánh 2 ngày
  • Tính thứ của ngày bất kỳ trong năm(Dùng CT Zeller)

SourceCode

Bài 607: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của 1 tỉnh (TINH). Biết rằng một tỉnh gồm những thành phần sau:

    • Mã tỉnh: Kiểu số nguyên 2 byte
    • Tên tỉnh: Chuỗi tối đa 30 ký tự
    • Diện tích: Kiểu số thực

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 608: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một hộp sữa (HOPSUA). Biết rằng một hộp sữa gồm các thành phần sau:

    • Nhãn hiệu: chuỗi tối đa 20 ký tự
    • Trọng lượng: kiểu số thực
    • Hạn sử dụng: Kiểu dữ liệu Ngày (NGAY)

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 609: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của 1 vé xem phim (VE). Biết rằng 1 vé xem phim gồm những thành phần sau:

    • Tên phim: Chuỗi tối đa 20 ký tự
    • Giá tiền: kiểu số nguyên 4 byte
    • Xuất chiếu: kiểu thời gian (THOIGIAN)
    • Ngày xem: kiểu dữ liệu ngày (NGAY)

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 610: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một mặt hang (MATHANG). Biết rằng một mặt hang gồm những thành phần sau:

    • Tên mặt hàng: chuỗi tối đa 20 ký tự
    • Đơn giá: kiểu số nguyên 4 byte
    • Số lượng tồn: kiểu số nguyên 4 byte

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 611: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một chuyến bay. Biết rằng một chuyến bay gồm những thành phần sau:

    • Mã chuyến bay: chuỗi tối đa 5 ký tự
    • Ngày bay: kiểu dữ liệu ngày
    • Giờ bay: kiểu thời gian
    • Nơi đi: chuỗi tối đa 20 ký tự
    • Nơi đến: chuỗi tối đa 20 ký tự

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 612: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một cầu thủ. Biết rằng một cầu thủ gồm những thành phần sau:

    • Mã cầu thủ: chuỗi tối đa 10 ký tự
    • Tên cầu thủ: chuỗi tối đa 30 ký tự
    • Ngày sinh: kiểu dữ liệu ngày

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 613: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một đội bóng. (DOIBONG). Biết rằng một đội bóng gồm những thành phần sau:

    • Mã đội bóng: chuỗi tối đa 5 ký tự
    • Tên đội bóng: chuỗi tối đa 30 ký tự
    • Danh sách các cầu thủ: mảng 1 chiều các cầu thủ (tối đa 30 phần tử)

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 614: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một nhân viên (NHANVIEN). Biết rằng một nhân viên gồm những thành phần sau:

    • Mã nhân viên: chuỗi tối đa 5 ký tự
    • Tên nhân viên: chuỗi tối đa 30 ký tự
    • Lương nhân viên: kiểu số thực

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 615: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một thí sinh (THISINH). Biết rằng một thí sinh gồm những thành phần sau:

  • Mã thí sinh: chuỗi tối đa 5 ký tự
  • Họ tên thí sinh: chuỗi tối đa 30 ký tự
  • Điểm toán: kiểu số thực
  • Điểm lý: kiểu số thực
  • Điểm hóa: kiểu số thực
  • Điểm tổng cộng: kiểu số thực

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 616: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một luận văn (LUANVAN). Biết rằng một luận văn gồm những thành phần sau:

  • Mã luận văn: chuỗi tối đa 10 ký tự
  • Tên luận văn: chuỗi tối đa 100 ký tự
  • Họ tên sinh viên thực hiện: chuỗi tối đa 30 ký tự
  • Họ tên giảng viên hướng dẫn: chuỗi tối đa 30 ký tự
  • Năm thực hiện: kiểu số nguyên 2 byte

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 617: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một học sinh (HOCSINH). Biết rằng một lớp học gồm những thành phần sau:

  • Tên học sinh: chuỗi tối đa 30 ký tự
  • Điểm toán: kiểu số nguyên 2 byte
  • Điểm văn: kiểu số nguyên 2 byte
  • Điểm trung bình: kiểu số thực

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 618: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một lớp học (LOPHOC). Biết rằng một lớp học gồm những thành phần sau:

  • Tên lớp: chuỗi tối đa 30 ký tự
  • Sĩ số: kiểu số nguyên 2 byte
  • Danh sách các học sinh trong lớp ( tối đa 50 học sinh)

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 619: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một sổ tiết kiệm (SOTIETKIEM). Biết rằng một sổ tiết kiệm gồm những thành phần sau:

  • Mã sổ: chuỗi tối đa 5 ký tự
  • Loại tiết kiệm: chuỗi tối đa 10 ký tự
  • Họ tên khách hàng: chuỗi tối đa 30 ký tự
  • Chứng minh nhân dân: kiểu số nguyên 4 byte
  • Ngày mở sổ: kiểu dữ liệu ngày
  • Số tiền gửi: kiểu số thực

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Bài 620: Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một đại lý (DAILY). Biết rằng một đại lý gồm những thành phần sau: – Mã đại lý: chuỗi tối đa 5 ký tự – Tên đại lý: chuỗi tối đa 30 ký tự – Điện thoại: kiểu số nguyên 4 byte – Ngày tiếp nhận: kiểu dữ liệu ngày – Địa chỉ: chuỗi tối đa 50 ký tự

– E-Mail: chuỗi tối đa 50 ký tự

Sau đó viết hàm nhập, xuất cho kiểu dữ liệu này

SourceCode

Chương 10: Đệ quy

Đệ quy tuyến tính

Đệ quy nhị phân

Đệ quy hỗ tương

Bài 712: Viết hàm tính số hạng thứ n của hai dãy sau:

X(0) = 1

Y(0) = 0

X(n) = x(n – 1) + y(n – 1) (n > 0)

Y(n) = 3 * x(n – 1) + 2 * y(n – 1) (n > 0)

Bài 713: Tính số hạng thứ n của dãy

X(0) = 1

X(n) = n^2.x(0) + (n – 1)^2.x(1) + … + (n – i)^2.x(i) +… + 2^2.x(n – 2) + 1^2.x(n – 1)

Bài toán tháp Hà Nội

Bài 714: Có 3 chồng đĩa đánh số 1, 2 và 3. Đầu tiên chồng 1 có n đĩa được xếp sao cho đĩa lớn hơn nằm bên dưới và hai chồng đĩa còn lại không có đĩa nào. Yêu cầu: chuyển tất cả các đĩa từ chồng 1 sang chồng 3, mỗi lần chỉ chuyển một đĩa và được phép sử dụng chồng hai làm trung gian. Hơn nữa trong quá trình chuyển đĩa phải bảo đảm qui tắc đĩa lớn hơn nằm bên dưới

Bài toán phát sinh hoán vị

Bài 715: Cho tập hợp A có n phần tử được đánh số từ 1, 2, …, n. Một hoán vị của A là một dãy a1, a2, … , an. Trong đó (a.i) thuộc A và chúng đôi một khác nhau. Hãy viết hàm phát sinh tất cả các hoán vị của tập hợp A.

Bài toán Tám Hậu

Bài 716: Cho bàn cờ vua kích thước (8 x 8). Hãy sắp 8 quân hậu vào bàn cờ sao cho không có bất kỳ 2 quân hậu nào có thể ăn nhau

Bài toán Mã Đi Tuần

Bài 717: Cho bàn cờ vua kích thước (8 x 8). Hãy di chuyển quân mã trên khắp bàn cờ sao cho mỗi ô đi qua đúng một lần

Đệ quy và mảng 1 chiều

Xuất mảng

Kỹ thuật đếm

Kỹ thuật tính toán

Kỹ thuật đặt cờ hiệu

Kỹ thuật tìm kiếm

Kỹ thuật sắp xếp

Giải bài tập đệ quy

Chương 11: Con trỏ

Con trỏ cơ bản

+ Khai báo và khởi tạo

+ Tham số là con trỏ

+ Cần nhớ các toán tử của con trỏ

+ Kích thước của con trỏ

Con trỏ và mảng 1 chiều

+ Nhập xuất

+ Thêm, Xóa, Cộng, Trừ

+ Liệt kê hoán vị

+ Bài tập tổng hợp

Con trỏ nâng cao

+ Thay đổi con trỏ sau khi ra khỏi hàm

+ Con trỏ vô kiểu

Con trỏ và mảng 2 chiều

+ Nhập xuất

+ Thêm xóa

Chương 12: Danh sách liên kết

Khai báo

Khởi tạo danh sách liên kết

  • Bài 781: Viết hàm khởi tạo danh sách liên kết đơn

Tạo node

Thêm 1 node vào đầu danh sách

  • Viết hàm thêm 1 node vào đầu danh sách liên kết đơn

Duyệt danh sách liên kết

Nhập danh sách liên kết

  • Bài 786: Viết hàm nhập danh sách liên kết ở dạng trừu tượng

Chương trình minh họa

  • Bài 787: Viết chương trình thực hiện các yêu cầu sau:
    1. Nhập danh sách liên kết đơn các số nguyên
    2. Xuất danh sách liên kết đơn các số nguyên
    3. Tính tổng các node trong DSLK

SourceCode

Các bài tập lý thuyết

Các bài tập khai báo danh sách

– Họ tên: tối đa 30 ký tự – Điểm toán: kiểu số nguyên – Điểm văn: kiểu số nguyên

– Điểm trung bình: kiểu số thực

SourceCode

  • Bài 797: Hãy khai báo cấu trúc dữ liệu cho danh sách liên kết đơn các thí sinh. Giả sử thí sinh gồm những thành phần thông tin như sau:

– Mã thí sinh: tối đa 5 ký tự – Họ tên: tối đa 30 ký tự – Điểm toán: kiểu số thực – Điểm lý: kiểu số thực – Điểm hóa: kiểu số thực

– Điểm tổng cộng: kiểu số thực

SourceCode

  • Bài 798: Hãy khai báo cấu trúc dữ liệu cho danh sách liên kết đơn các phòng trong khách sạn (PHONG). Giả sử phòng khách sạn gồm những thông tin như sau:

– Mã phòng: tối đa 5 ký tự – Tên phòng: tối đa 30 ký tự – Đơn giá thuê: kiểu số thực – Số lượng giường: kiểu số nguyên

– Tình trạng giường: 0 rảnh 1 bận

SourceCode

Tạo NODE cho danh sách liên kết đơn

Bài tập string trong C

Viết lại các hàm string

Bài tập thao tác tập tin

Các ví dụ về tập tin

Dùng tập tin lưu và xử lý dữ liệu

Trên đây là chia sẻ 1000 bài tập lập trình C/C++ có lời giải của thầy Khang từ blog của bạn Vương Trí Tài. Chúc các bạn độc giả của Lập Trình Không Khó học tập tốt!