Gỡ lỗi chương trình xếp hạng điểm thi của lớp
Thang điểm 10 · 6 test case chấm tự động · 4 tiêu chí chấm
Để lập bảng xếp hạng, giáo viên cần sắp xếp danh sách điểm thi của học sinh theo thứ tự tăng dần. Một bạn học sinh đã viết đoạn chương trình chèn (insertion sort) như sau, nhưng khi chạy thử với điểm thi [10, 1, 5, 2, 8, 0, 4] thì kết quả in ra không được sắp xếp đúng hoàn toàn:
for i in range(len(A) - 1):j = iwhile j > 1 and A[j] < A[j - 1]:A[j], A[j - 1] = A[j - 1], A[j]j = j - 1
Áp dụng kĩ thuật in giá trị trung gian (hoặc truy vết bằng tay) đã học trong bài, em hãy tìm ra các lỗi điều kiện biên trong đoạn chương trình trên (liên quan tới điều kiện dừng của vòng lặp while và phạm vi của vòng lặp for), sửa lại cho đúng, rồi viết một chương trình hoàn chỉnh: đọc số lượng học sinh n và danh sách n điểm thi (là các số nguyên) từ bàn phím, sắp xếp tăng dần và in ra danh sách điểm đã sắp xếp (các số cách nhau bởi dấu cách).
Input: dòng 1 là số nguyên n; dòng 2 gồm n số nguyên là điểm thi, cách nhau bởi dấu cách.
Output: một dòng gồm n số nguyên đã sắp xếp tăng dần, cách nhau bởi dấu cách.
| Input | Output |
|---|---|
| 7 10 1 5 2 8 0 4 | 0 1 2 4 5 8 10 |
| 1 7 | 7 |
| 4 9 9 9 9 | 9 9 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 10
- Xét kết quả Đạt / Không đạt · Lập trình
- Cân lại mẫu đá thiên thạch trên các hành tinh khác · Lập trình
- Khám phá tên đăng nhập mạng xã hội · Lập trình
- Tính điểm trung bình 3 môn thi · Lập trình
- Tìm lỗi: Tổng lượt xem video theo ngày · Lập trình
- Tra cứu điểm số theo chỉ số danh sách · Lập trình