There was a lot of fun at yesterday’s party.You ________ e, but why didn’t you?
A.must have
B.should
C.need have
D.ought to have
网友回答
D解析本题题意:“昨天的聚会(我们)玩得很高兴。你应该来参加的,但你为何没来呢?”ought to have done表示“过去应该做某事却没有做”,含有责备含义;must have done表示“过去一定发生了某事”,表示推测,与本题题意恰好相反。should do表示“现在或将来应该做某事”,与at yesterday’s party所表达的时间矛盾。