✔ 最佳答案
你把句子裡省略的文字寫出來,大概就明白了:
1. ... but he didn't (pass the test).過去簡單式,表示以前沒有發生:他考試沒通過。和前面所述形成反差,所以正確。
2. ... but he hadn't (passed the test).「過去完成式」用來與另一個「過去簡單式」做對照組,形成兩件事的先後時差。但本句只有一件事:他考試沒通過。所以錯誤。
3. ... but he wasn't (passed by the test).這是被動態。但語意不符邏輯,錯誤。
4. ... but he shouldn't (pass the test).他不該考試通過。所述跟句子前面的Tom should have passed (the test),矛盾。所以錯誤。