Danh mục tài liệu

Bài tập thực hành lập trình C nâng cao - Trường Cao đẳng Công nghệ Thông tin Tp. Hồ Chí Minh

Số trang: 14      Loại file: pdf      Dung lượng: 281.04 KB      Lượt xem: 13      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu 'bài tập thực hành lập trình c nâng cao - trường cao đẳng công nghệ thông tin tp. hồ chí minh', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Bài tập thực hành lập trình C nâng cao - Trường Cao đẳng Công nghệ Thông tin Tp. Hồ Chí Minh Trường Cao đẳng Công nghệ Thông tin Tp. Hồ Chí Minh Khoa Công nghệ Thông tin BÀI TẬP THỰC HÀNH Môn: Lập trình C nâng cao Thời lượng: 60 tiết Môi trường cài đặt: VC++ 6.0 hoặc VC++2005 (Win32 Console Application) Lịch trình thực hành Tuần Nội dung thực hành Ghi chú (5 tiết/tuần) Lập trình bằng đệ qui 01 Lập trình bằng đệ qui 02 Mảng một chiều 03 Chuỗi ký tự 04 Chuỗi ký tự 05 Sinh viên vắng mặt quá 2 buổi sẽ Kiểu dữ liệu có cấu trúc không được dự kiểm tra (điểm thực 06 hành là 0) Kiểu dữ liệu có cấu trúc 07 Ma trận 08 Ma trận 09 File 10 File 11 Kiểm tra và chấm điểm 12 I. LẬP TRÌNH BẰNG ĐỆ QUI 1. Tìm chữ số có giá trị lớn nhất của số nguyên dương n. 2. Tính giá trị nguyên của log2n (n nguyên). 3. Đổi sang hệ nhị phân của số nguyên dương n. 4. Tìm ước số chung lớn nhất của hai số nguyên dương a và b. 5. Tìm chữ số đầu tiên của số nguyên dương n. v ới n ≥ 0 Tính P(n) = 1.3.5K (2n + 1) , 6. Tính S (n) = 1 + 3 + 5 + L + (2 × n + 1) , v ới n ≥ 0 7. n +1 8. Tính S (n) = 1 − 2 + 3 − 4 + L + (−1) n , v ới n > 0 9. Tính S (n) = 1 + 1.2 + 1.2.3 + L + 1.2.3K n , v ới n > 0 v ới n > 0 10. Tính S (n) = 12 + 2 2 + 3 2 + L + n 2 , 1 1 1 v ới n > 0 11. Tính S (n) = 1 + + + L + , 2 3 n 1 1 1 S ( n) = 1 + + +L+ v ới n > 0 1+ 2 1+ 2 + 3 1+ 2 + 3 +L+ n , 12. Tính Tính P( x, y ) = x . y 13. Tính S (n) = 1 + (1 + 2) + (1 + 2 + 3) + L + (1 + 2 + 3 + L + n) , v ới n > 0 14. 15. Hãy xây dựng một dãy gồm N số có giá trị từ 1 đến K cho trước, sau cho không có hai dãy con liên tiếp đứng kề nhau. Ví dụ: N = 6 K=3 1 Kết quả: 121312 16. Tìm dãy nhị phân dài nhất sao cho trên dãy này không có hai bộ k bất kỳ trùng nhau. Bộ k là dãy con có k số liên tiếp nhau trên dãy tìm được. Ví dụ: k = 3 Kết quả: 000 101 110 0 17. Cho k số nguyên dương: a1, a2, a3, … ak (045. Viết hàm tra xem trong chuỗi có ký tự số hay không nếu có tách ra thành một mảng số riêng. 46. Nhập một chuỗi bất kì, yêu cầu nhập 1 ký tự muốn xóa. Thực hiện xóa tất cả những ký tự đó trong chuỗi. 47. Viết chương trình tìm kiếm xem ký tự nào xuất nhiện nhiều nhất trong chuỗi. 48. Viết 1 chương trình xoá một từ nào đó trong chuỗi. Ví dụ: Chuỗi ban đầu: “Cau truc du lieu va giai thuat” Nhập: “va”, và kết quả xuất ra:”Cau truc du lieu giai thuat” 49. Đổi các từ ở đầu câu sang chữ hoa và những từ không phải đầu câu sang chữ thường. Ví dụ: nGuYen vAN a đổi thành: Nguyen Van A 50. Viết chương trình đảo ngược thứ tự các từ có trong chuỗi Ví dụ: Nhập: lap trinh bang ngon ngu c Xuất ra màn hình là: c ngu ngon bang trinh lap 51. Nhập 1 chuỗi bất kì, liệt kê xem mỗi ký tự xuất hiện mấy lần. 52. Viết hàm kiểm tra xem trong 2 chuỗi có bao nhiêu ký tự giống nhau. 53. Cho chuỗi str, nhập vào vị trí vt và số ký tự cần xóa n, hãy xóa n ký tự tính từ vị trí vt trong chuỗi str. 54. Nhập vào chuỗi str, chuỗi cần chèn strInsert và vị trí cần chèn vt. Hãy chèn chuỗi strInsert vào chuỗi str tại vị trí vt. IV. BÀI TẬP KIỂU DỮ LIỆU CÓ CẤU TRÚC Khai báo và cài đặt kiểu dữ liệu có cấu trúc Ví dụ: Viết chương trình nhập vào toạ độ hai điểm trong mặt phẳng và tính tổng hai toạ độ này //File Khaibao.h #include typedef struct DIEM //khai bao mot kieu du lieu DIEM gom toa do x va y { int x; int y; }; //File caidat.cpp #include khaibao.h void Nhap (DIEM &d) { coutd.y; } void Xuat (DIEM d) { cout DIEM Tong (DIEM d1,DIEM d2) { DIEM temp; temp.x = d1.x + d2.x ; temp.y = d1.y + d2.y ; return Temp; } //File main.cpp #include”khaibao.h” void main () { DIEM A , B, AB; //khai bao 3 diem A, B, AB; Nhap ( A ); Xuat ( A ); Nhap ( B ); Xuat ( B ); cout Mảng có cấu trúc Do kiểu dữ liệu có cấu trúc thường chứa rất nhiều thành phần nên khi viết chương trình loại này ta cần lưu ý: • Xây dựng hàm xử lý cho một kiểu cấu trúc. • Muốn xử lý cho mảng cấu trúc, ta gọi lại hàm xử lý cho một kiểu cấu trúc đã được xây dựng bằng cách dùng vòng lặp. Ví dụ: Cho một mảng các phân số (PHANSO) gồm n phần tử (n≤50). Hãy viết chương trình nhập và xuất danh sách các phân số sau đó tìm phân số có giá trị lớn nhất, tổng và tích các phân số và nghịch đảo giá trị các phân số trong mảng. Cách làm: - Trước hết ta phải xây dựng hàm nhập và xuất cho 1 phân số. - Xây dựng hàm tính tổng, hiệu, tí ...