Tìm và sửa lỗi chương trình xếp hạng vận động viên chạy 100m
Thang điểm 10 · 5 test case chấm tự động · 4 tiêu chí chấm
Trong giải điền kinh của trường, ban tổ chức ghi lại thời gian chạy 100m (đơn vị: giây, có thể là số thập phân) của từng vận động viên. Cần sắp xếp các thời gian này theo thứ tự tăng dần (thời gian nhỏ nhất xếp hạng nhất) để công bố kết quả.
Bạn Nam đã cài đặt thuật toán sắp xếp nổi bọt (Bubble Sort) như sau, nhưng khi chạy với dãy có từ 2 phần tử trở lên thì chương trình báo lỗi list index out of range:
def BubbleSort(A):n = len(A)for i in range(n - 1):for j in range(n - i):if A[j] > A[j + 1]:A[j], A[j + 1] = A[j + 1], A[j]
Em hãy tìm ra chỗ sai trong dòng lệnh vòng lặp trong (gợi ý: so sánh với công thức chuẩn đã học trong bài — vòng lặp trong chỉ cần chạy đến chỉ số n - 1 - i), sửa lại cho đúng, rồi viết hoàn chỉnh chương trình: đọc số lượng vận động viên và dãy thời gian chạy, sắp xếp tăng dần và in kết quả ra màn hình.
Định dạng input: dòng đầu là số nguyên n (số vận động viên); dòng thứ hai gồm n số thực cách nhau bởi dấu cách (thời gian chạy, giây).
Định dạng output: in ra một dòng gồm n số đã sắp xếp tăng dần, cách nhau bởi dấu cách.
| Input | Output |
|---|---|
| 5 12.5 11.8 13.2 10.9 12.0 | 10.9 11.8 12.0 12.5 13.2 |
| 3 9.9 9.1 9.5 | 9.1 9.5 9.9 |
Giáo viên giao bài này cho lớp, học sinh nộp bài trực tuyến và được chấm tự động.
Giáo viên đăng nhập để giao bàiBài tập khác lớp 11
- Ước lượng thời gian chấm điểm bài thi trắc nghiệm · Lập trình
- Đo đường chéo sân tập thể thao · Lập trình
- Chồng sách trên bàn học · Lập trình
- Thống kê quãng đường chạy bộ của CLB · Lập trình
- Đếm số cách đóng gói đều sản phẩm · Lập trình
- Theo dõi số bước chân của nhóm tập luyện · Lập trình