Đáp án B
Giải thích: Should have done sth = đáng lẽ ra đã nên làm gì, dùng để nói về những hành động không xảy ra thật trong quá khứ với ý tiếc nuối
Dịch nghĩa: Carl đáng lẽ ra đã nên học chăm chỉ hơn ; anh ta lại trượt bài thi lần nữa.
A. must have done sth = chắc chắn là đã làm gì; dùng để đoán về hành động có thể đã xảy ra trong quá khứ, nhưng sự dự đoán khá chắc chắn vì dựa vào những dấu hiệu cụ thể.
C. could have done sth = đáng lẽ ra đã có thể làm gì; dùng để nói về hành động có thể đã xảy ra trong quá khứ, mang ý tiếc nuối.
D. needn’t have done = đáng lẽ không cần phải làm gì; dùng để nói về hành động đã xảy ra trong quá khứ nhưng không cần thiết