你现在写的是正确答案吧.第一道你选错的原因,是有ago.ago不能跟完成时连用.排除A,B.本句想要表达的是,他爸爸很早就去世了.这里想表达的是“去世”那个动作,而不该用形容词dead.第二道是没有分清短暂性动词和延续性动词.buy是短暂性动词.不能跟一段时间连用.因为一个人不可能一直保持买东西的动作.但是可以说“已经有”即“have had”.本句她用的是“said”是过去时.她说话之前已经有了,是指过去的过去.用过去完成时.
如果一件事发生在过去,用了过去时,又一件事在这件事之前发生,这两种放在一起时一般要用过去完成时.用过去完成时时,句子里面会有过去时出现给你做参照.