14.答案:A【解析】考查情态动词和虚拟语气。句意:如果没有你的慷慨帮助,我不可能度过那么艰难的时期。without your generous help相当于if it hadn't been for your generous help,所以主句用“情态动词+完成时形式”表示对过去情况的虚拟,couldn't have done sth.“本来不能做某事(而实际上做到了)”。
15.答案:D【解析】本题考查虚拟语气。句意:要不是因为约翰最近受伤的话,我们昨天就把他的名字写在比赛名单上了。but for his recent injury是含蓄虚拟条件句,而且句中有明确的时间状语,故主句用would have done。