những bai cuối @@ jup zoi nhe m.n huong dan chi tiet lun
BÀI TẬP THỰC HÀNH LẬP TRÌNH CĂN BẢN
Nguyễn Thị Minh Hiếu
Chủ đề 8: Mảng một chiều và mảng nhiều chiều, chuỗi
Bài 1. Viết chương trình nhập vào một mảng nguyên 1 chiều a có n phần tử:
a. Tính tổng các phần tử của mảng a.
b. Đếm số phần tử âm
b. Tìm phần tử Max và phần tử Min của mảng.
c. Tìm phần tử âm lớn nhất và phần tử dương bé nhất
d. Liệt kê các số nguyên tố trong mảng.
e. Liệt kê các số chính phương trong mảng và cho biết có bao nhiêu phần tử.
Bài 2. Cho mảng 1 chiều a có n phần tử (n <=100)
a. Xét xem mảng có gồm toàn số nguyên tố không.
b. Xét xem mảng đã được sắp xếp chưa. Mảng được sắp theo dạng nào
Bài 3. Cho mảng 1 chiều a có n phần tử (n <=100)
a. Tách mảng A thành 2 mảng con B và C
Mảng B: chứa các phần tử âm.
Mảng C: chứa các phần tử dương.
b. Tạo mảng D bằng cách nối C vào B.
c. Tạo mảng E bằng cách trộn 2 mảng âm dương xen kẽ nhau.
d. Đảo ngược mảng A.
Bài 4. Cho mảng 1 chiều a có n phần tử (n <=100)
a. Xóa một phần tử tại vị trí p chỉ định.
b. Xóa tất cả những phần tử là số chính phương.
c. Xóa những phần tử trùng nhau.
Bài 5. Nhập ngẫu nhiên mảng 1 chiều a có n phần tử (n <=100)
a. Sắp xếp mảng a theo thứ tự tăng dần.
b. Sắp xếp các phần tử chẵn theo thứ tự giảm dần.
c. Sắp xếp phần tử chẵn về đầu dãy theo thứ tự tăng, và phần tử lẽ về cuối dãy theo thứ tự giảm.
Bài 6. Nhập ngẫu nhiên mảng 1 chiều a có n phần tử (n <=100)
a. Xen thêm vào mảng a một phần tử giá trị x ở vị trí p.
b. Sắp xếp mảng a theo thứ tự giảm dần.
c. Xen thêm x vào a để a vẫn duy trì thứ tự.
d. Xen thêm số a[i]-1 vào sau tất cả các phần tử a[i] là số nguyên tố.
Bài 7. Nhập mảng 1 chiều a có n phần tử (n <=100)
a. Mảng a có đối xứng không.
b. Nhập mảng b, kiểm tra mảng b có phải là mảng con của a không. Nếu có trả về số lần xuất hiện của b trong a.
c. Tìm phần tử có số lần xuất hiện nhiều nhất trong mảng.
d. Phần tử nào có giá trị gần với trị trung bình cộng của toàn mảng nhất.
Bài 8. Cho mảng A 2 chiều có MxN phần tử (N, M<=100)
a. Tìm tổng các phần tử trong ma trận.
b. Liệt kê các phần tử chia hết cho 7.
c. Tìm tổng các phần tử nằm trên đường viền của ma trận.
e. Tìm cột có tích Max.
f. Tìm dòng có nhiều số chính phương nhất
g. Hỏi dòng nào đã được sắp xếp, sắp xếp theo kiểu gì.
h. Chuyển vị thành ma trân NxM
i. Chuyển thành mảng 1 chiều B rồi sắp xếp giảm.
j. Tìm phần tử Max và dòng, cột tương ứng.
k. Tìm giá trị Min trên mỗi cột.
d. Tìm tổng các phần tử nằm trên phần tam giác trên của ma trận.
Bài 9. Viết chương trình nhập hai ma trận Am,n và Bm,n. Tính tổng hai ma trận.
Bài 10. Viết chương trình nhập hai ma trận Am,k và Bk,n. Tính tích hai ma trận.
Bài 11. Lập chương trình để nhập một dãy n số thực x1, x2, x3, …, xn sau đó in ra thành nhiều dòng mỗi dòng gồm m số
x1 x2 x3 … xm
xm+1 xm+2 xm+3 … x2m
… … … … …
xkm+1 xkm+2 … xn
Bài 12. Tính đa thức bậc n
f(x) = anxn + an-1xn-1 + … + a1x + a0
với n nguyên và mảng thực a, x cho trước.
Bài 13. Tính giá trị trung bình và độ lệch tiêu chuẩn của một đại lượng ngẫu nhiên theo công thức
và
Cho trước mảng n giá trị xi
Bài 14. Viết chương trình nhập 1 chuỗi ký tự, xuất ra màn hình mã ASCII của từng ký tự.
Bài 15. Nhập một chuỗi, đổi chuỗi sang chuỗi chữ hoa.
Bài 16. Nhập chuỗi, kiểm tra xem chuỗi có đối xứng không.
Bài 17. Viết chương trình nhập 1 chuỗi kí tự. Xuất ra từng kí tự rơi từ trên màn hình xuống dưới.
Chủ đề 9: Con trỏ và mảng, chuỗi.
Bài 18. Viết hàm hoán vị hai biến thực a,b bằng cách sử dụng con trỏ.
Bài 19. Viết lại bài 1 với mảng cấp phát động, và truy cập phần tử mảng kiểu con trỏ.
Bài 20. Viết lại bài 9 với mảng 2 chiều cấp phát động.
Bài 21. Viết lại một phiên bản hàm kiểu xử lý con trỏ của hàm strcat: strcat(s, t) nối chuỗi t vào cuối chuỗi s.
Bài 22. Viết hàm strend(s, t), trả về 1 nếu chuỗi t xuất hiện ở cuối chuỗi s, và ngược lại trả về 0.
Bài 23. Viết lại các hàm thư viện strncpy, strncat, và strncmp, mà thao tác trên n ký tự đầu tiên của các tham số chuỗi. Ví dụ như, strncpy(s, t, n) sao chép n ký tự từ t vào s.
Bài 24. Viết các hàm để
a. Hủy bỏ một chuỗi con trong một chuỗi lớn
b. Thay thế một chuỗi con bằng 1 chuỗi con khác trong một chuỗi lớn
c. Chèn một chuỗi con mới vào một chuỗi lớn