B. had 是正确答案。
谢谢黎老师的参与。我的理解是应该选C. 现在完成时和过去完成时都对,但意思略有差别。用现在完成强调过去做的事,但今天仍然可能还会做。用过去完成时,强调之前做过的事,现在应该不做了。请比较外刊理解:
1. What are the reasons why the other person did what they have done?
2. Here in the Americas, people did what they have done in other parts of the world.
3. They did what they had done earlier.
4. They did what they had done all their Christian lives when the devil tried to destroy the safe harbor of their home.
如有不妥,请大家指正。