Bài tập ôn tập danh sách liên kết đơn

Bài 1: Một danh sách sinh viên được tổ chức lưu trữ bằng cấu trúc Danh sách liên kết đơn (DSLKD). Mỗi sinh viên có những thông tin sau:
 Masv( kieu nguyên), họ tên (kiểu char[30]), diem toan(dt ; kiểu int), điểm lý (dl ; kiểu int), điểm hóa (dh; kiểu int) ()
 1. Viết chương trình nhập vào n sinh viên(n nhập từ bàn phím)
 2. In ra tất cả sinh viên thi lại ít nhất 1 môn 
3. In ra tất cả sinh viên thi lại cả 3 môn 
4. In ra tất cả sinh viên là sinh viên giỏi (diem trung binh 3 môn >=8 và không có môn nào thi lại)
 5. In ra tất cả sinh viên là sinh viên khá (8>diem trung binh 3 môn >=7; và không có môn nào thi lại) 6. In ra tất cả sinh viên là sinh viên trung bình và không có môn nào thi lại)
 7. In ra tất cả sinh viên là sinh viên có điểm trung bình cao nhất
 8. In ra tất cả sinh viên là sinh viên có điểm trung bình thấp nhất
 9.Nhập vào Masv nào đó, cho phép tìm kiếm tuần tự theo Masv 
10. Xóa bỏ tất cả những sinh viên có điểm trung bình (dtb) =8

 Bài 2: Viết chương trình nhập vào n số nguyên dương lẻ, các số này được lưu dưới dạng danh sách liên kết đơn. TÍnh tổng các phần tử là số chính phương

Bài 3: Giả sử ma trận vuông thưa được lưu trữ dạng DSLK đơn. 
1. Tính tổng các phần tử trên đường chéo chính của ma trận trên 
2. Tính tổng các phần tử trên đường chéo phụ của ma trận trên 

Bài 4: Sử dụng Danh sách liên kết đơn để lưu trữ n số nguyên nhập từ bàn phím. 
1. Loại bỏ tất cả các phân tử bị lặp trong danh sách nói trên
 2. Loại bỏ tất cả các phân tử âm trong danh sách nói trên 
3. Sắp xếp các số đó theo chiều tăng dần 

Bài 5: Viết chương trình cho phép nhập 2 đa thức (đa thức được tổ chức dạng DSLK đơn) 
1.Tính tổng 2 đa thức
 2. Tính hiệu 2 đa thức 

Bài 6: Viết chương trình cho phép nhập 2 đa thức (đa thức được tổ chức dạng DSLK kép) 
1.Tính tổng 2 đa thức
 2. Tính hiệu 2 đa thức