分类：教育/科学-升学入学-高考
问题：两道单选题1.Tomhasbeenwritinglettersa 
1.Tomhasbeenwringlettersallafternoon,butheshouldhavefinishedthembynow,______?A.hasn’ ouldn’theD.didn’tyou2.Idon’tthinkhecouldhavedonesuchastupidthinglastnight,_________? uldheC.didheD.hashe请问为什么第一道题目的答案是C,第二道题目的答案还是C?如果说第二道题选C,是因为是对昨天晚上的事情进行推测,那么第一道题难道不是对到目前为止情况的的假设吗?怎么就不能用现在完1.Tomhasbeenwringlettersallafternoon,butheshouldhavefinishedthembynow,______?A.hasn’ ouldn’theD.didn’tyou2.Idon’tthinkhecouldhavedonesuchastupidthinglastnight,_________? uldheC.didheD.hashe请问为什么第一道题目的答案是C,第二道题目的答案还是C?如果说第二道题选C,是因为是对昨天晚上的事情进行推测,那么第一道题难道不是对到目前为止情况的的假设吗?怎么就不能用现在完成时态A呢?
回答：第一个句子不是表示推测，而是表示：应该做而没有做。“tom整个下午都在写信，到现在他本该写完了（可是他还是没有做完）” 如果表推测的话，不是用should,而是用must .
   结构：  should have done 本该做而没有做
           shouldn't have done 本不该做而做了
           could have done  能够做而没有做
                            可能做过（表推测） 
第二个句子是表推测。couldn't have done 过去一定没有做过
                    must have done     过去一定做过。
   表推测的反义疑问句要用本来的时态反问，既然是表对过去的事情的推测，当然要用过去时。
希望我讲明白了。