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ạn đang xem: Bài tập c có lời giải


Lời giải 1000 bài tập của thầy Khang
Chương 5: Mảng một chiều
Chương 6: Ma trận
Chương 7: Ma trận vuôn
Chương 8: Trừu tượng hóa dữ liệu
Chương 10: Đệ quy
Chương 11: Con trỏ
Chương 12: Danh sách liên kết
Bài tập string trong CBài tập thao tác tập tin

Đề 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.

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

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.

Xem thêm: Sửa Lỗi Search Windows 10 Không Hoạt Động, Lỗi Tìm Kiếm Không Được

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

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

Chương 3: Các cấu trúc điều khiển
Tam giác cân đặc nằm giữa màn hình
Tam giác cân rỗng nằm giữa màn hình
Tam giác vuông cân đặc
Tam giác vuông cân rỗng
Hình chữ nhật đặc
Hình chữ nhật rỗng

Chương 4: Hàm

Bài 118: Viết lại các bài tập trong chương trước bằng kỹ thuật lập trình 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 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, 1Giá 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ẻ
Kỹ thuật sắp xếp
Kỹ thuật thêm
Bài 268: Hãy tạo mảng b từ mảng a các giá trị 0, 1 để mảng có tính chẵn lẻ
Kỹ thuật xóa
Kỹ thuật xử lý mảng
Kỹ thuật xử lý mảng con
Bài 303: Tìm dãy con toàn dương dài nhất
Bài 304(*): Cho mảng a, số nguyên M. Tìm 1 mảng con sao cho tổng các phần tử bằng MBài 305(*): Tìm dãy con toàn dương có tổng lớn nhất
Bài 306: Tìm mảng con có tổng lớn nhất
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
Bài 364: Cho 2 ma trận A và B. Kiểm tra xem ma trận A có là ma trận con của ma trận B hay không
Bài 365: Cho 2 ma trận A và B. Đếm số lần xuất hiện của ma trận A trong ma trận BKỹ thuật đặt lính canh
Bài 391(*): Tìm ma trận con có tổng lớn nhất
Kỹ thuật xử lý ma trận
Sắp xếp ma trận
Bài 413: Viết hàm sắp xếp các phần tử trong ma trận theo yêu cầu sau:Dòng có chỉ số chẵn tăng dần
Dòng có chỉ số lẻ giảm dần
Bài 414: Viết hàm sắp xếp các phần tử trong ma trận theo yêu cầu sau:Cột có chỉ số chẵn giảm dần từ trên xuống
Cột có chỉ số lẻ tăng dần từ trên xuống
Xây dựng ma trận
Bài 428: Cho ma trận A. Hãy tạo ma trận B, B = số lượng ptử dương xung quanh A

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

Bài 429 + Bài 431: Viết hàm nhập, xuất ma trận vuông các số nguyên
Hàm duyệt các phần tử trên đường chéo chính
Hàm duyệt các phần tử thuộc tam giác trên đường chéo chính
Hàm duyệt các phần tử thuộc tam giác dưới đường chéo chính
Hàm duyệt các phần tử trên đường chéo phụ
Hàm duyệt các phần tử thuộc tam giác trên đường chéo phụ
Hàm duyệt các phần tử thuộc tam giác dưới đường chéo phụ
Tính toán
Kỹ thuật đặt lính canh
Bài 449: * Cho ma trận vuông A(n x n). Hãy tìm ma trận vuông B(k x k) sao cho tổng các giá trị trên ma trận vuông này là lớn nhất
Kỹ thuật đếm
Bài 452: Đếm phần tử cực đại
Kỹ thuật đặt cờ hiệu
Sắp xếp
Bài 465: Đưa chẵn về đầu ma trận vuông
Bài 466: * Ma trận vuông A(n x n) với n >=3. Sắp tam giác trên tăng dần từ trên xuống dưới và từ trái sang phải
Bài 467: * Ma trận vuông A với n>=3. Sắp tam giác dưới giảm dần từ trên xuống dưới và từ trái sang phải
Các phép toán trên ma trận
Bài 472: * Ma trận nghịch đảo
Bài 473: * Định thức của 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=x0Bà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

Source
Code

Đ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 = x0Bà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 cho trước

Source
Code (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,1Bà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ố

Source
Code

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ố

Source
Code

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

Source
Code

Điểm trong mặt phẳng Oxy
Bài 540: khai báo dữ liệu điểm OXYBà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?

Source
Code

Đ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

Source
Code

Đườ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 đó

Source
Code

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

Source
Code

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)

Source
Code

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/1Bà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/1Bà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)

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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

Source
Code

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:

Đây là toàn bộ Source của cuốn Bài tập ngôn ngữ C (từ A đến Z), bao gồm các phần:

Lập trình căn bảnĐồ họa máy tínhCấu trúc dữ liệuLập trình hệ thốngPhương pháp số

Các bạn có thể tải vể ở đây: Download compression file


*

Thích viết lách, tuy không giỏi. Thích chụp ảnh, nhưng chưa có một bức hình đẹp.Xem tất cả bài viết bởi Harry Nguyen


*
tqhung27 nói:
*

*

*

Book CCNA Khí tài quân sự Linux Lập trình Miscellaneous MS Windows Photography Phần cứng - Thiết bị số Raspberry
Pi Reviews
Tagsadobe
Asia
CCNACCNA 1Cho (Korean name)chrome
Colleges and Universities
Cúm A/ H1N1Da Nang
Da Nang Citydevelopement
Doraemon
Download
Educationfacebook
Fedorafirefoxgoogle chrome
Government
Hanoi
Hardware
Hyperbolic function
Hypertext Transfer Protocoliisinternet
IP address
Joomlaletters from iwo jima
Linux
Linux/unix
List of Ubuntu releaseslogonui
Lý Dynastylắp ráp máy tính
Mac OSMicrosoft
Microsoft Windows
Mozilla Firefoxmysqlmáy tính
Networkingofficeopen source
OSI model
Photography
PHPphp
My
Adminprogramingprogramming
Provincesregistry
Semester 1Semester 2Test Module
Thủ thuật
Tintips
Trong
Trongs
Tươngubuntuubuntu tweakusbvideo
Vietnam
Vietnamese people
Vietnamese đồngvirus
VMWare Playerwebwindowswindows 7Windows Explorer
XAMPPYahoo Messenger 10Comment gần đây
*
Harry Nguyen trong Chuyển đổi bài trình diễn Powe…
*
Liêm trong Chuyển đổi bài trình diễn Powe…
*
Phung trong 10 câu lệnh để quản lý tiến tr…
*
Dung trong 10 câu lệnh để quản lý tiến tr…
Homepage trong Cài đặt PHP – My
SQL trên Windo…
Lưu trữ web
Lưu trữ web
Chọn chuyên mục
Book(3)CCNA(9)Khí tài quân sự(1)Lập trình(20)Linux(35)Miscellaneous(33)MS Windows(51)Phần cứng – Thiết bị số(8)Photography(8)Raspberry
Pi(1)Reviews(22)Liên kết web
Số người đang xem