Tổng Hợp Bài Tập Lập Trình C Cơ Bản Phần 1 - Khuê Nguyễn
Có thể bạn quan tâm
Trong bài này chúng ta sẽ cùng nhau thực hành các bài tập lập trình C với mức cơ bản. Giúp các bạn rèn luyện nhiều hơn khả năng lập trình và giải quyết bài toán.
Bài 19 trong Serie Lập trình C từ A tới Z
Table of Contents
- Bài tập lập trình C cơ bản
- Chương trình Hello world
- Biến
- Toán tử số học
- So sánh hai số nguyên
- Tìm giá trị lớn nhất trong ba số nguyên
- Kiểm tra số chẵn, số lẻ
- Kiểm tra số âm, số dương
- Kiểm tra năm nhuận
- Tráo đổi giá trị bởi sử dụng biến thứ 3
- Tráo đổi giá trị không sử dụng biến thứ 3
- Giải phương trình bậc 2
- Bài tập lập trình C về vòng lặp
- In các số từ 1 – 10 theo thứ tự tăng dần
- In các số từ 1 – 10 theo thứ tự giảm dần
- In bảng số
- In bảng nhân
- In bảng cửu chương rút gọn
- In các số chẵn
- In các số lẻ
- Vẽ tam giác trong C (lồng vòng lặp)
- Vẽ tam giác sao đều
- Vẽ tam giác sao vuông cân
- Vẽ tam giác Floyd
- Vẽ tam giác Pascal
- Bài tập C về mảng một chiều (1 – D Array)
- In một mảng
- In một mảng theo chiều đảo ngược
- Tính tổng giá trị các phần tử trong mảng
- Tính giá trị trung bình của một mảng
- Tìm các phần tử lớn nhất của mảng
- Tìm các phần tử lớn thứ hai của mảng
- Tìm các phần tử nhỏ nhất của mảng
- Cách sao chép giá trị từ một mảng này sang một mảng khác
- Cách sao chép giá trị một mảng này sang mảng khác với chiều đảo ngược
- Chia một mảng thành hai mảng
- Trộn hai hay nhiều mảng thành một mảng
- Bài tập C về mảng hai chiều (2 – D Array)
- Kiểm tra ma phương (Magic Square)
- Trừ hai ma trận
- Cộng hai ma trận
- Tính đường chéo của ma trận
- Tính tổng tất cả các phần tử của ma trận
- Tìm ma trận chuyển vị
- Tìm ma trận nghịch đảo
- Nhân hai ma trận
- Lời Kết
Bài tập lập trình C cơ bản
Chương trình Hello world
Chương trình Hello World là chương trình kinh điển trong mọi ngôn ngữ lập trình. Ngoài ý nghĩa là in dòng chữ Hello World trên màn hình, chương trình Hello World còn giúp bạn kiểm tra xem phần cài đặt ngôn ngữ lập trình của mình đã ổn hay chưa, đã sẵn sàng để thực thi các chương trình khác hay không.
Ngoài ra, chương trình Hello World còn giúp bạn hiểu thêm về cấu trúc của một chương trình trong ngôn ngữ đó.
Dưới đây là chương trình C để in dòng chữ Hello World trên màn hình:
Biên dịch chương trình C trên sẽ cho kết quả:
Biến
Bài tập lập trình C: Khai báo, gán và in biến có kiểu dữ liệu char
Biến có kiểu dữ liệu (char) lưu giữ giá trị là một ký tự.
Biên dịch chương trình C trên sẽ cho kết quả:
Bài tập lập trình C: Khai báo, gán và in biến có kiểu dữ liệu int)
Biến có kiểu dữ liệu int lưu giữ giá trị là một số nguyên.
Biên dịch chương trình C trên sẽ cho kết quả:
Bài tập lập trình C: Khai báo, gán và in biến có kiểu dữ liệu float
Biến có kiểu dữ liệu float lưu giữ giá trị là một số thực.
Biên dịch chương trình C trên sẽ cho kết quả:
Bài tập lập trình C: Khai báo, gán và in biến có kiểu dữ liệu double
Biến có kiểu dữ liệu double lưu giữ giá trị là một số double.
Biên dịch chương trình C trên sẽ cho kết quả:
Bài tập lập trình C: Khai báo, gán và in biến có kiểu dữ liệu void
void trong C nghĩa là không có gì, không có giá trị. Kiểu dữ liệu này thường được sử dụng khi khai báo con trỏ hoặc khai báo hàm.
Toán tử số học
Các toán tử số học cơ bản bao gồm cộng, trừ, nhân và chia. Các toán tử này được thực hiện trên các kiểu dữ liệu như int, float và double.
Phép cộng trong C
Chương trình C dưới đây minh họa phép cộng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Phép trừ trong C
Chương trình C dưới đây minh họa phép trừ trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Phép nhân trong C
Chương trình C dưới đây minh họa phép nhân trong C. Bạn chú ý rằng dấu sao (*) được sử dụng làm toán tử nhân trong C.
Biên dịch chương trình C trên sẽ cho kết quả:
Phép chia trong C
Chương trình C dưới đây minh họa phép chia trong C. Ngôn ngữ C sử dụng dấu gạch chéo (/) để làm toán tử chia.
Biên dịch chương trình C trên sẽ cho kết quả:
So sánh hai số nguyên
So sánh hai số nguyên là một trong các bài tập C đơn giản nhất. Với chương trình C này, bạn có thể nhận đầu vào bởi sử dụng hàm scanf() hoặc tự định nghĩa giá trị của các biến.
Để so sánh hai số nguyên, cách đơn giản nhất là sử dụng các lệnh IF và ELSE trong C.
Bắt đầu từ chương trình C này, chúng ta dần làm quen với cách lập giải thuật từ đó viết code cho chương trình C thực sự. Với các cách thực hiện tuần tự như vậy thì mình tin rằng sẽ giúp các bạn mới học ngôn ngữ C phát triển tư duy của mình.
Giải thuật cho bài tập C
Dưới đây là các bước giải thuật đơn giản để giải bài tập C trên:
Chương trình C
Dưới đây là phần code của chương trình C để giải bài tập so sánh hai số nguyên trong C.
Biên dịch chương trình C trên sẽ cho kết quả:
Tìm giá trị lớn nhất trong ba số nguyên
Tìm số lớn nhất trong ba số là một trong các bài tập C đơn giản nhất. Trong chương trình C này, bạn có thể nhận đầu vào bởi hàm scanf() hoặc tự định nghĩa giá trị cho các biến.
Tương tự như so sánh hai số nguyên, với bài này chúng ta cũng sử dụng các lệnh IF và ELSE trong C để giải bài tập C này. Đây là chương trình C minh họa cho cách sử dụng các lệnh IF … ELSE IF trong C.
Trước hết chúng ta cùng tìm hiểu giải thuật cho bài tập C này.
Giải thuật cho bài tập C
Dưới đây là các bước giải thuật đơn giản để giải bài tập C trên:
Chương trình C
Phần dưới đây là phần code của chương trình C thực sự để giải bài tập Tìm giá trị lớn nhất trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Kiểm tra số chẵn, số lẻ
Bài toán kiểm tra số chẵn lẻ là một trong các chương trình C điển hình. Với bài toán này, chúng ta sẽ sử dụng các lệnh IF – ELSE trong C để giải.
Giải thuật cho bài tập lập trình C
Dưới đây là các bước giải thuật đơn giản để giải bài tập C trên:
Chương trình C
Dưới đây là phần code chương trình C thực sự để giải bài tập kiểm tra số chẵn lẻ trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Kiểm tra số âm, số dương
Tương tự như bài tập C kiểm tra số chẵn lẻ, thì đây là bài tập C khá đơn giản giúp bạn làm quen dần với cách sử dụng các lệnh IF-ELSE trong C.
Giải thuật cho bài tập C
Dưới đây là các bước giải thuật đơn giản để giải bài tập C trên:
Chương trình C
Dưới đây là phần code chương trình C thực sự để giải bài tập kiểm tra số âm, số dương trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Kiểm tra năm nhuận
Bài tập kiểm tra một năm xem có phải là năm nhuận không là một bài tập hơi phức tạp một chút. Trước hết, chúng ta tìm hiểu điều kiện để một năm là năm nhuận:
- Năm chia hết cho 4 nhưng không chia hết cho 100.
- Hoặc năm chia hết cho 400.
Giải thuật cho bài tập C
Dưới đây là các bước giải thuật cho bài tập C trên:
Chương trình C
Dưới đây là chương trình C để giải bài tập kiểm tra năm nhuận trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tráo đổi giá trị bởi sử dụng biến thứ 3
Trong nhiều trường hợp, lập trình viên cần thực hiện phép tráo đổi giá trị của hai biến. Trong chương này, chúng ta cùng tìm hiểu cách để tráo đổi giá trị của hai biến nguyên, tuy nhiên bạn cũng có thể thực hiện tương tự để tráo đổi hai biến ở bất kỳ kiểu dữ liệu nào khác.
Giá trị của các biến có thể được tráo đổi theo hai cách:
- Sử dụng biến thứ ba (một biến tạm)
- Không thông qua biến thứ ba
Giải thuật cho bài tập C
Dưới đây là các bước giải thuật cho bài tập tráo đổi giá trị trong C:
Chương trình C
Dưới đây là chương trình C để giải bài tập tráo đổi giá trị trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tráo đổi giá trị không sử dụng biến thứ 3
Trong nhiều trường hợp, lập trình viên cần thực hiện phép tráo đổi giá trị của hai biến. Trong chương này, chúng ta cùng tìm hiểu cách để tráo đổi giá trị của hai biến nguyên, tuy nhiên bạn cũng có thể thực hiện tương tự để tráo đổi hai biến ở bất kỳ kiểu dữ liệu nào khác.
Giá trị của các biến có thể được tráo đổi theo hai cách:
- Sử dụng biến thứ ba (một biến tạm)
- Không thông qua biến thứ ba
Cách tráo đổi giá trị hai biến a, b được thực hiện khá đơn giản, bằng cách:
- Cộng hai số a và b, lưu kết quả vào biến a.
- Trừ a cho b, lưu kết quả vào biến b, khi đó b bây giờ sẽ giữ giá trị của biến a ban đầu.
- Tiếp tục trừ a cho b (vừa được lưu) và lưu kết quả vào biến a, khi đó a sẽ giữ giá trị của biến b ban đầu.
Giải thuật cho bài tập lập trình C
Dưới đây là các bước giải thuật cho bài tập tráo đổi giá trị trong C:
Chương trình C
Dưới đây là chương trình C để giải bài tập tráo đổi giá trị trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Giải phương trình bậc 2
Giải phương trình bậc hai là bài tập khá quen thuộc khi bạn mới học lập trình. Đây là một trong các bài toán điển hình về các lệnh rẽ nhánh trong C, đó là các lệnh IF-ELSE. Tương ứng với mỗi trường hợp, bạn sẽ có một nhánh khác nhau.
Chương trình C
Dưới đây là chương trình C để giải phương trình bậc hai trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Bài tập lập trình C về vòng lặp
In các số từ 1 – 10 theo thứ tự tăng dần
Đây là một bài tập đơn giản giúp bạn làm quen với cách sử dụng vòng lặp for trong C.
Chương trình C
Dưới đây là chương trình C để in các số 1-10 theo thứ tự tăng dần.
Biên dịch chương trình C trên sẽ cho kết quả:
In các số từ 1 – 10 theo thứ tự giảm dần
Yêu cầu là in các số từ 1 tới 10 theo thứ tự giảm dần. Với bài tập C này, chúng ta chỉ cần sử dụng một vòng lặp for trong C.
Chương trình C
Dưới đây là chương trình C để in các số 1-10 theo thứ tự giảm dần.
Biên dịch chương trình C trên sẽ cho kết quả:
In bảng số
In một bảng số thỏa mãn điều kiện:
- Bảng số gồm 10 hàng và 10 cột
- Các giá trị trong cột là liên tiếp nhau
- Các giá trị trong hàng hơn kém nhau 10
Với bài tập C này, chúng ta sử dụng lồng vòng lặp: vòng lặp bên ngoài sẽ điều khiển các hàng và vòng lặp bên trong điều khiển các cột.
Chương trình C
Dưới đây là chương trình C để giải bài tập C trên:
Biên dịch chương trình C trên sẽ cho kết quả:
In bảng nhân
In một bảng nhân của một số bất kỳ với các số từ 1 tới 10 và hiển thị kết quả.
Với bài tập C này, chúng ta chỉ sử dụng một vòng lặp và tăng dần giá trị của số nhân lên.
Chương trình C
Dưới đây là chương trình C để giải bài tập C trên:
Biên dịch chương trình C trên sẽ cho kết quả:
In bảng cửu chương rút gọn
Bảng cửu chương rút gọn là bảng có hàng là kết quả của phép nhân một số với các giá trị từ 1 tới 10. Chúng ta sẽ in 9 hàng tương ứng với các số từ 2 tới 10.
Với bài tập này, chúng ta sẽ sử dụng lồng vòng lặp: vòng lặp bên ngoài điều khiển số hàng và vòng lặp bên trong điều khiển số cột của bảng.
Chương trình C
Dưới đây là chương trình C để giải bài tập C trên:
Biên dịch chương trình C trên sẽ cho kết quả:
In các số chẵn
Yêu cầu là in các số chẵn trong dãy số từ 1 tới 10 bởi sử dụng vòng lặp trong ngôn ngữ C.
Với bài tập C này, ngoài sử dụng vòng lặp, chúng ta cần kết hợp thêm một lệnh để kiểm tra điều kiện xem số đó là số chẵn hay lẻ, nếu là số chẵn thì in còn nếu là số lẻ thì không. Chúng ta sử dụng lệnh IF và toán tử % (để lấy phần dư) trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập C trên:
Biên dịch chương trình C trên sẽ cho kết quả:
In các số lẻ
Yêu cầu là in các số lẻ trong dãy số từ 1 tới 10 bởi sử dụng vòng lặp trong ngôn ngữ C.
Với bài tập C này, ngoài sử dụng vòng lặp, chúng ta cần kết hợp thêm một lệnh để kiểm tra điều kiện xem số đó là số chẵn hay lẻ, nếu là số lẻ thì in còn nếu là số chẵn thì không. Chúng ta sử dụng lệnh IF và toán tử % (để lấy phần dư) trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập C trên:
Biên dịch chương trình C trên sẽ cho kết quả:
Vẽ tam giác trong C (lồng vòng lặp)
Vẽ tam giác sao đều
Hình 1. Vẽ một tam giác sao đều trong C thỏa mãn điều kiện:
- Các cạnh bằng nhau
- Một đỉnh nằm phía trên màn hình và cạnh đối diện với đỉnh này nằm dưới.
Với bài tập này, chúng ta sử dụng ba vòng lặp. Một vòng lặp bên ngoài để điều khiển số hàng. Hai vòng lặp bên trong: một vòng lặp để in các khoảng trống, một vòng lặp để in các dấu sao.
Chương trình C
Dưới đây là chương trình C để giải bài tập vẽ tam giác sao đều trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Hình 2. Vẽ một tam giác sao đều trong C thỏa mãn điều kiện:
- Các cạnh bằng nhau
- Một đỉnh nằm phía dưới màn hình và cạnh đối diện với đỉnh này nằm trên.
Với bài tập này, chúng ta sử dụng ba vòng lặp. Một vòng lặp bên ngoài để điều khiển số hàng. Hai vòng lặp bên trong: một vòng lặp để in các khoảng trống, một vòng lặp để in các dấu sao.
Chương trình C
Dưới đây là chương trình C để giải bài tập vẽ tam giác sao đều trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Vẽ tam giác sao vuông cân
Hình 1. Vẽ tam giác sao vuông cân trong C thỏa mãn điều kiện:
- Đỉnh nằm phía trên màn hình
- Cạnh góc vuông bên cạnh trái màn hình và cạnh góc vuông còn lại nằm ở phần dưới màn hình.
Với bài tập C này, chúng ta chỉ cần hai vòng lặp: vòng lặp bên ngoài điều khiển số hàng, vòng lặp bên trong chịu trách nhiệm in dấu sao và khoảng trống.
Chương trình C
Dưới đây là chương trình C để giải bài tập vẽ tam giác sao vuông cân trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Hình 2. Vẽ tam giác sao vuông cân trong C thỏa mãn điều kiện:
- Cạnh huyền nằm về phía trái màn hình.
Với bài tập C này, chúng ta chỉ cần hai vòng lặp: vòng lặp bên ngoài điều khiển số hàng, vòng lặp bên trong chịu trách nhiệm in dấu sao và khoảng trống.
Chương trình C
Dưới đây là chương trình C để giải bài tập vẽ tam giác sao vuông cân trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Vẽ tam giác Floyd
Tam giác Floyd là một tam giác vuông được tạo từ các số tự nhiên. Các số trong tam giác Floyd có giá trị tăng dần. Dưới đây là hình minh họa cho tam giác Floyd đơn giản gồm các số từ 1 tới 10.
Với bài tập C này, chúng ta sử dụng hai vòng lặp: vòng lặp bên ngoài điều khiển số hàng, vòng lặp bên trong để in giá trị các số tăng dần.
Chương trình C
Dưới đây là chương trình C để giải bài tập vẽ tam giác Floyd trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Vẽ tam giác Pascal
Bài tập vẽ tam giác Pascal là bài tập điển hình của sinh viên trong khi học về các ngôn ngữ lập trình. Bạn theo dõi hình minh họa tam giác Pascal sau:
Tam giác Pascal có qui tắc sau:
- Tất cả các giá trị bên ngoài tam giác được xem như là 0.
- Hàng đầu tiên sẽ là 0 1 0, trong đó chỉ có giá trị 1 có được một khoảng trống trong tam giác Pascal, còn 0 là không nhìn thấy.
- Hàng thứ hai được tạo bằng cách cộng hai số liên tiếp nhau từ hàng thứ nhất: (0 + 1) và (1 + 0).
- Các hàng còn lại cũng được tạo bằng cách cộng như trên. Ví dụ với hàng thứ ba là cộng các số liên tiếp nhau từ hàng thứ hai: (0 + 1), (1 + 1) và (1 + 0).
Từ các qui tắc trên, trước hết chúng ta viết một hàm để tính các giá trị của tam giác Pascal bởi sử dụng đệ qui (tất nhiên là bạn có thể sử dụng cách khác). Trong hàm main(), chúng ta sẽ sử dụng ba vòng lặp. Một vòng lặp bên ngoài để điều khiển số hàng. Hai vòng lặp bên trong: một vòng lặp để in khoảng trống và một vòng lặp để in giá trị.
Chương trình C
Dưới đây là chương trình C để giải bài tập vẽ tam giác Pascal trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Bài tập C về mảng một chiều (1 – D Array)
In một mảng
Chương trình C này sẽ giúp bạn hiểu cách in một mảng trong C. Chúng ta cần khai báo và định nghĩa một mảng và sau đó sử dụng một vòng lặp để duyệt qua tất cả các phần tử trong mảng. Tại mỗi vòng lặp, chúng ta sẽ in một giá trị tại một chỉ mục trong mảng.
Chương trình C để in mảng
Dưới đây là chương trình C để giải bài tập in các phần tử của một mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
In một mảng theo chiều đảo ngược
Để in mảng theo thứ tự đảo ngược, bạn cần biết trước độ dài của mảng. Sau đó chúng ta sử dụng một vòng lặp bắt đầu từ chỉ mục cuối cùng (là độ dài của mảng) đến giá trị 0 và trong mỗi vòng lặp sẽ in giá trị tại chỉ mục đó.
Chương trình C để in mảng
Dưới đây là chương trình C để giải bài tập in các phần tử của một mảng theo chiều đảo ngược trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tính tổng giá trị các phần tử trong mảng
Chương trình C này giúp bạn hiểu được cách đọc các giá trị trong một mảng. Để giải bài tập C này, chúng ta sẽ sử dụng một vòng lặp và tính tổng tất cả các giá trị của mảng.
Chương trình C
Dưới đây là chương trình C để giải bài tập tính tổng giá trị các phần tử của một mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tính giá trị trung bình của một mảng
Chương trình C này giúp bạn hiểu được cách đọc các giá trị trong một mảng. Để giải bài tập C này, chúng ta sẽ sử dụng một vòng lặp và tính tổng tất cả các giá trị của mảng. Sau đó chia giá trị này cho số phần tử trong mảng sẽ thu được giá trị trung bình của tất cả các giá trị của mảng đó.
Chương trình C
Dưới đây là chương trình C để giải bài tập tính giá trị trung bình các phần tử của một mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tìm các phần tử lớn nhất của mảng
Chương trình tìm giá trị lớn nhất của mảng là một chương trình C điển hình về mảng. Chương trình này giúp bạn hiểu cách sử dụng vòng lặp, mảng, lệnh IF và các toán tử điều kiện trong C.
Để giải bài tập C này, chúng ta duyệt qua từng phần tử trong mảng và kiểm tra xem phần tử đó có phải là lớn nhất không.
Chương trình C
Dưới đây là chương trình C để giải bài tập tìm giá trị lớn nhất của mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tìm các phần tử lớn thứ hai của mảng
Chương trình tìm giá trị lớn thứ hai của mảng là một chương trình C điển hình về mảng. Chương trình này giúp bạn hiểu cách sử dụng vòng lặp, mảng, lệnh IF và các toán tử điều kiện trong C.
Để giải bài tập C này, chúng ta duyệt qua từng phần tử trong mảng và kiểm tra xem phần tử đó có phải là lớn thứ hai không.
Chương trình C
Dưới đây là chương trình C để giải bài tập tìm giá trị lớn thứ hai của mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tìm các phần tử nhỏ nhất của mảng
Chương trình tìm giá trị nhỏ nhất của mảng là một chương trình C điển hình về mảng. Chương trình này giúp bạn hiểu cách sử dụng vòng lặp, mảng, lệnh if và các toán tử điều kiện trong C.
Để giải bài tập C này, chúng ta duyệt qua từng phần tử trong mảng và kiểm tra xem phần tử đó có phải là nhỏ nhất không.
Chương trình C
Dưới đây là chương trình C để giải bài tập tìm giá trị nhỏ nhất của mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Cách sao chép giá trị từ một mảng này sang một mảng khác
Sao chép mảng liên quan tới việc sao chép các giá trị tương ứng với chỉ mục của mảng này với mảng kia.
Để giải bài tập C này chúng ta cần biết trước độ dài của mảng ban đầu (mảng original). Mảng sao (mảng copied) phải có độ dài bằng độ dài của mảng ban đầu. Sử dụng vòng lặp để duyệt qua từng giá trị của mảng ban đầu và sao chép sang mảng sao.
Chương trình C
Dưới đây là chương trình C để giải bài tập sao chép mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Cách sao chép giá trị một mảng này sang mảng khác với chiều đảo ngược
Cũng giống như cách sao chép mảng trong phần trước, nhưng với cách sao chép này thì các phần tử trong mảng sao (mảng copied) có thứ tự bị đảo ngược so với mảng ban đầu (mảng original).
Tương tự để giải bài tập lập trình C này chúng ta sẽ sử dụng vòng lặp trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập sao chép mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Chia một mảng thành hai mảng
Để giải bài tập lập trình C này, chúng ta cần kiểm tra xem phần tử của mảng ban đầu là chẵn hay lẻ. Nếu là chẵn thì lưu giữ giá trị vào mảng chẵn (mảng even), nếu là lẻ thì lưu giữ vào mảng lẻ (mảng odd).
Chúng ta giải bài tập C trên với sự trợ giúp của vòng lặp và toán tử % trong C. Bạn cần lưu ý thêm một điều nữa là tổng kích cỡ của hai mảng chẵn và mảng lẻ bằng với mảng ban đầu
Chương trình C
Dưới đây là chương trình C để giải bài tập chia một mảng thành hai mảng: mảng chẵn và mảng lẻ trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Trộn hai hay nhiều mảng thành một mảng
Bài tập C này có nhiều cách gọi: trộn hai mảng, nối hai mảng, ghép hai mảng hay cộng hai mảng, … Dù có nhiều cách gọi khác nhau đi chăng nữa thì đây cũng chỉ là một bài tập để nối ghép các giá trị của hai mảng để thành một mảng duy nhất.
Bài tập là trộn hai mảng một chiều: một mảng chẵn, một mảng lẻ thành một mảng một chiều có thứ tự tăng dần.
Qua các chương trước chúng ta đã biết cách sao chép mảng thì với bài tập này mình tin rằng các bạn sẽ hiểu và làm được.
Chương trình C
Dưới đây là chương trình C để giải bài tập trộn mảng trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Bài tập C về mảng hai chiều (2 – D Array)
Kiểm tra ma phương (Magic Square)
Ma phương (Magic Square) là gì ?
Có lẽ một số bạn chưa biết đến khái niệm Ma phương (Magic Square). Mình xin đưa ra khái niệm này như sau:
Ma phương (Magic Square) là một dãy gồm n2 số nguyên dương sắp xếp trong một hình vuông kích thước n x n chia thành n2 ô vuông với n hàng và n cột, sao cho tổng số các số trên mỗi hàng, mỗi cột và trên hai đường chéo đều bằng nhau.
Chương trình C
Dưới đây là chương trình C để giải bài tập kiểm tra ma trận vuông trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Trừ hai ma trận
Khi các ma trận có cùng kích thước thì chúng ta có thể thực hiện phép cộng hoặc trừ với các ma trận này. Bài tập trừ hai ma trận trong C là bài tập cơ bản minh họa cách khởi tạo và truy cập các phần tử trong mảng hai chiều trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập trừ hai ma trận trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Trường hợp hai ma trận không cùng kích cỡ:
Trường hợp hai ma trận cùng kích cỡ:
Cộng hai ma trận
Khi các ma trận có cùng kích thước thì chúng ta có thể thực hiện phép cộng hoặc trừ với các ma trận này. Bài tập cộng hai ma trận trong C là bài tập cơ bản minh họa cách khởi tạo và truy cập các phần tử trong mảng hai chiều trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập cộng hai ma trận trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Trường hợp hai ma trận không cùng kích cỡ:
Trường hợp hai ma trận cùng kích cỡ:
Tính đường chéo của ma trận
Tổng đường chéo chỉnh bằng tổng tất cả các phần tử nằm trên đường chéo chính của ma trận . Bài tập tính tổng đường chéo chính của ma trận trong C là bài tập cơ bản minh họa cách khởi tạo và truy cập các phần tử trong mảng hai chiều trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập tính tổng đường chéo chính của ma trận trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tính tổng tất cả các phần tử của ma trận
Đây là bài tập C cơ bản giúp bạn hiểu cách khởi tạo và truy cập các phần tử của mảng hai chiều trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập tính tổng tất cả các phần tử của ma trận trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tìm ma trận chuyển vị
Ma trận chuyển vị là một ma trận ở đó các hàng được thay thế bằng các cột, và ngược lại. Đây là chương trình C cơ bản minh họa cách tạo và truy cập các phần tử của mảng hai chiều trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập tìm ma trận chuyển vị của ma trận đã cho trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Tìm ma trận nghịch đảo
Dựa vào phần lý thuyết đã học ở môn Đại số, bạn hãy viết chương trình C để tìm ma trận nghịch đảo của một ma trận đã cho. Đây là bài tập C khá phức tạp và đỏi hỏi bạn cần biết vận dụng thuần thục cách khởi tạo và cách truy cập các phần tử của mảng hai chiều trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập tìm ma trận nghịch đảo trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Nhân hai ma trận
Dựa vào phần lý thuyết đã học trong môn Đại số, bạn hãy viết chương trình C để nhân hai ma trận đã cho. Đây là bài tập C khá phức tạp và đỏi hỏi bạn cần biết vận dụng thuần thục cách khởi tạo và cách truy cập các phần tử của mảng hai chiều trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập nhân hai ma trận trong C:
Biên dịch chương trình C trên sẽ cho kết quả:
Lời Kết
Hy vọng sau khi hoàn thành các bài tập lập trình C này, các bạn có thể năm rõ thêm các cách giải toán với C. Các kiến thức cơ bản ở những phần trước chúng ta học.
Nếu cảm thấy bài viết có ích hay đánh giá và chia sẻ cho bạn bè. Đừng quên tham gia nhóm Nghiện lập trình để cùng trao đổi và kết nối nhé!
5/5 - (2 bình chọn)Từ khóa » Bài Tập Cơ Bản C
-
Bài Tập C Có Lời Giải - Học Lập Trình C Online - Viettuts
-
Tổng Hợp Bài Tập C/C++ Có Lời Giải - Lập Trình Không Khó
-
Tuyển Tập 140 Bài Tập C Có Giải
-
Bài Tập C Cơ Bản
-
Bài Tập Lập Trình C/C++ | VnCoding
-
Tổng Hợp Hơn 1000 Bài Tập C / C++ Có Lời Giải - Freetuts
-
Các Bài Tập Lập Trình C Từ Cơ Bản Đến Nâng Cao Có Đáp Án ...
-
Lập Trình C: Bài Tập Cơ Bản | V1Study
-
Bài Tập C Cơ Bản: Kiểm Tra Xem Một Số Có Khác 0 Hay Không
-
250 Bài Tập Thực Hành C - DevIOT
-
25 Bài Tập Lập Vòng Lặp C++ Có Lời Giải
-
Giải Bài Tập Lập Trình C Cơ Bản - YouTube
-
Tổng Hợp 1000 Bài Tập Lập Trình C/C++ Từ Cơ Bản Tới Nâng Cao