BÀI TẬP ÔN TẬP C 1. Viết chương trình nhập vào một dãy n số thực a[0], a[1], , a[n-1], sắp xếp dãy số theo thứ tự từ lớn đến nhỏ. In dãy số sau khi sắp xếp và số lớn nhất trong dãy. 2. Viết chương trình sắp xếp một mảng theo thứ tự tăng dần sau khi đã loại bỏ các phần tử trùng nhau. Viết chương trình nhập vào một mảng, hãy xuất ra màn hình: - Phần tử lớn nhất của mảng. - Phần tử nhỏ nhất của mảng. - Tính tổng của các phần tử trong mảng . 3. Viết chương trình nhập vào một dãy các số theo thứ tự tăng, nếu nhập sai quy cách thì yêu cầu nhập lại. In dãy số sau khi đã nhập xong. Nhập thêm một số mới và chèn số đó vào dãy đã có sao cho dãy vẫn đảm bảo thứ tự tăng. In lại dãy số để kiểm tra. 4. Sinh ngẫu nhiên 2 dãy tăng A và B. Trộn 2 dãy thành dãy tăng C. In ra màn hình dãy A, B, C. 5. Sinh ngẫu nhiên 2 dãy tăng A và B. Trộn 2 dãy thành dãy giảm C. In ra màn hình dãy A, B, C. 6. Sinh ngẫu nhiên dãy số nguyên tăng dần A, chèn số k vào dãy theo đúng thứ tự. In ra màn hình dãy trước và sau khi chèn. 7. Sinh ngẫu nhiên dãy số nguyên tăng dần A, tìm số k trong dãy, xóa k nếu k xuất hiện trong dãy, ngược lại thì thông báo không tìm thấy k. In ra màn hình dãy trước và sau khi xóa. 8. Viết chương trình nhập vào một mảng số tự nhiên. Hãy xuất ra màn hình: - Dòng 1 : gồm các số lẻ, tổng cộng có bao nhiêu số lẻ. - Dòng 2 : gồm các số chẵn, tổng cộng có bao nhiêu số chẵn. - Dòng 3 : gồm các số nguyên tố. - Dòng 4 : gồm các số không phải là số nguyên tố 9. Viết chương trình tính tổng bình phương của các số âm, tổng bình phương của các số lẻ trong một mảng các số nguyên nhập từ bàn phím. 10.Viết chương trình tính tổng bình phương của các số âm, tổng bình phương của các số lẻ trong một mảng n số nguyên được sinh ngẫu nhiên. 11.Viết chương trình thực hiện việc trộn hai dãy có thứ tự thành một dãy có thứ tự. Yêu cầu không được trộn chung rồi mới sắp thứ tự. Khi trộn phải tận dụng được tính chất đã sắp của hai dãy con 12. Viết chương trình nhập vào hai ma trận A và B có cấp m, n. In hai ma trận lên màn hình. Tổng hai ma trận A và B là ma trận C. In ma trận A, B, C ra màn hình. 13.Viết chương trình nhập vào một ma trận các số nguyên, gồm m hàng, n cột. In ma trận đó lên màn hình. Nhập một số nguyên k vào và xét xem có phần tử nào của ma trận trùng với k không ? Ở vị trí nào ? Có bao nhiêu phần tử ? 14.Viết chương trình để chuyển đổi vị trí từ dòng thành cột của một ma trận (ma trận chuyển vị) cấp m*n. In ma trận trước và sau khi chuyển vị. 15.Viết chương trình nhập vào hai ma trận A có cấp m, k và B có cấp k, n. In hai ma trận lên màn hình. Tích hai ma trận A và B là ma trận C được tính bởi công thức: cij= ai1*b1j + ai2 *b2j + ai3 *b3j + + aik *bkj (i=0,1,2, m- 1;j=0,1,2 n-1) Tính ma trận tích C và in kết quả lên màn hình. 16.Sinh ngẫu nhiên ma trận số nguyên kích thước m*n. In ra màn hình ma trận và các số nguyên tố, số hoàn hảo có trong ma trận. 17.Sinh ngẫu nhiên ma trận số nguyên kích thước m*n. In ra màn hình ma trận và các số chính phương, số Amstrong có trong ma trận. 18.Sinh ngẫu nhiên ma trận số thực kích thước m*n. In ra màn hình ma trận trước và sau khi sắp xếp theo thứ tự tăng dần trên mỗi dòng. 19.Sinh ngẫu nhiên ma trận số thực kích thước m*n. In ra màn hình ma trận trước và sau khi sắp xếp theo thứ tự tăng dần trên mỗi cột. 20.Nhập một xâu ký tự st và một kí tự c, đếm số lần xuất hiện của ký tự c trong xâu st. 21.Liệt kê các ký tự có mặt trong xâu cùng số lần xuất hiện của mỗi ký tự. 22.Nhập một xâu ký tự. Thực hiện: Xét xem trong xâu có k ký tự kề nhau mà như nhau hay không. In ra xâu sau khi lược bớt các kí tự kề nhau mà như nhau chỉ để lại một. 23.Nhập một xâu ký tự. Kiểm tra tính đối xứng của xâu đó. Nếu xâu không đối xứng hãy đảo xâu. 24.Viết chương trình xóa các ký tự chữ số trong một xâu ký tự được nhập vào từ bàn phím. 25.Dùng xâu ký tự biểu diễn các số lớn (nhiều chữ số), thực hiện các phép toán cộng các số đó. 26.Kiểm tra một chuỗi nhập vào có phải là chuỗi đối xứng hay không ? 27.Nhập vào một chuỗi, tìm và xóa các ký tự trùng nhau trong chuỗi, mỗi loại ký tự chỉ để lại 1 ký tự. 28.Xây dựng các hàm kiểm tra số nguyên tố, số hoàn hảo, số chính phương, số Amstrong. Sử dụng các hàm đó để in ra màn hình các số nguyên tố, chính phương, hoàn hảo trong khoảng từ n đến m (n, m nhập từ bàn phím, n<m). Mỗi loại số in trên 1 dòng. 29.Xây dựng hàm tính số Fibonaci thứ n. Sử dụng hàm này để in ra màn hình 30 số Fibonaci đầu tiên. 30.Xây dựng hàm tính x! theo phương pháp đệ quy. Áp dụng để tính biểu thức: S = 1! +2! + 3! + … n! n – nhập từ bàn phím, n>10. 31.Nhập từ bàn 3 số a, b, c. Kiểm tra nếu 3 số vừa nhập không phải là số đo 3 cạnh của 1 tam giác thì yêu cầu nhập lại. Nếu là số đo 3 cạnh của 1 tam giác thì thông báo ra màn hình tam giác đó là tam giác vuông, tù, cân hay đều. 32.Tam giác Pascal là một bảng số, trong đó hàng thứ 0 bằng 1, mỗi một số hạng của hàng thứ n+1 là một tổ hợp chập k của n (C nk = k! (n−k)!). Viết chương trình in lên màn hình tan giác Pascal có n hàng (n nhập vào khi chạy chương trình) bằng cách tạo hai hàm tính giai thừa và tính tổ hợp 33.Tam giác Pascal là một bảng số, trong đó hàng thứ 0 bằng 1, mỗi một số hạng của hàng thứ n+1 là một tổ hợp chập k của n Với C k n = C k-1 n-1 +C k n-1 Viết chương trình in lên màn hình tan giác Pascal có n hàng (n nhập vào khi chạy chương trình) bằng cách tính tổ hợp theo phương pháp đệ quy như trên. 34. 35.Xây dựng các hàm kiểm tra số nguyên tố, số hoàn hảo, số chính phương, số Amstrong. Xây dựng chương trình thực hiện các chức năng theo giá trị nhập từ bàn phím. Ví dụ: - Nhập số 1 để in ra các số nguyên tố nhỏ hơn 1000 - Nhập số 2 để in ra các số hoàn hảo nhỏ hơn 1000 - Nhập số 3 để in ra các số Amstrong nhỏ hơn 10000. Nhập ký tự khác thì báo sai và yêu cầu nhập lại. 36.Viết chương trình phân tích một số nguyên dương ra thừa số nguyên tố. 37.Nhập vào danh sách sinh viên vừa nhập gồm họ tên, giới tính , điểm c, điểm pascal, tính điểm TB. In danh sách theo thứ tự tăng dần điểm TB. In danh sách sinh viên có điểm C >=7.0. 38.Viết chương trình tính: S1= 1 +x + x 2 + x 3 + … + x n S2= 1 -x + x 2 - x 3 + … + (-1) n x n S3= 1 +x/1 + x 2 /2! + x 3 3! + … + x n /n! In kết quả ra màn hình. 39.Nhập vào danh sách sinh viên vừa nhập gồm họ tên, giới tính , điểm c, điểm pascal, tính điểm TB. In danh sách theo thứ tự giảm dần điểm TB. In danh sách sinh viên có điểm C < 7.0. 40.Nhập vào danh sách sinh viên vừa nhập gồm họ tên, giới tính , điểm c, điểm pascal, tính điểm TB. Nhập vào tên sinh viên, in ra màn hình thông tin những sinh viên có tên vừa nhập vào, nếu không tìm thấy thì thông báo ra màn hình không có sinh viên nào có tên vừa nhập. 41.Nhập vào danh sách vừa nhập gồm họ tên, giới tính , điểm c, điểm pascal, điểm tiếng anh, tính điểm TB. In danh sách theo thứ tự tăng dần điểm TB. In danh sách sinh viên phải thi lại từ 2 môn trở lên. 42.Mỗi phiếu mua hàng gồm các thông tin: người mua, mã hàng, đơn giá, số lượng. Nhập vào tối đa 200 phiếu hàng, sau đó in ra các mặt hàng có cùng số lượng. 43.Viết chương trình ghi lên tệp Baitho.txt nội dung một đoạn thơ yêu thích. 44.Sao chép nội dung tệp tin Baitho.txt sang tệp Baihat.txt 45.Viết chương trình ghi lên tệp Songuyen.dat 20 số tự nhiên đầu tiên, mỗi số ghi trên 1 dòng. 46.Viết chương trình ghi lên tệp Matran.dat ma trận số nguyên kích thước 3x4 các số nguyên được sinh ngẫu nhiên. 47.Viết chương trình ghi lên tệp Songuyento.dat các số nguyên tố nhỏ hơn 100, mỗi số nằm trên 1 dòng. 48.Nhập vào danh sách vừa nhập gồm họ tên, giới tính , điểm c, điểm pascal, tính điểm TB. In danh sách theo thứ tự tăng dần điểm TB. In danh sách sinh viên không phải thi lại môn nào. . 3 : gồm c c số nguyên tố. - Dòng 4 : gồm c c số không phải là số nguyên tố 9. Viết chương trình tính tổng bình phương c a c c số âm, tổng bình phương c a c c số lẻ trong một mảng c c số nguyên. trư c và sau khi chuyển vị. 15.Viết chương trình nhập vào hai ma trận A c c p m, k và B c c p k, n. In hai ma trận lên màn hình. Tích hai ma trận A và B là ma trận C đư c tính bởi c ng th c: cij=. a, b, c. Kiểm tra nếu 3 số vừa nhập không phải là số đo 3 c nh c a 1 tam gi c thì yêu c u nhập lại. Nếu là số đo 3 c nh c a 1 tam gi c thì thông báo ra màn hình tam gi c đó là tam gi c vuông,