A. have repaired B. will repair C. are to repair D. will have repaired 参考答案:D 答案解析:此句中的“by”表示“在……以前”,句中又出现“next summer”表示将来,因此需用将来完成时。“will have done sth.”表示在未来某时间之前已经完成某事。
第17题: [单项选择]That young man has made so much noise that he ______ not have been allowed to attend the concert. A. could B. must C. would D. should 参考答案:D 答案解析:should+现在完成时表示“本该……”本句意思为“本来就不应该允许他参加音乐会的”。