虚拟语气 should have done 与 could have done

Five minutes earlier,we_____the last train
A, could have caught B ought to have caught 为什么选A 为什么不选B 如果有个should have caught 可以选吗 为什么

是这样的
could have done 中带有能力的意味,表示本来有能力去做,但没做到
而ought to have done 和should have done 中带有肯定的意味,ought to have caught 比should have caught 语气稍弱,但实际上没差异,表示本应该去做,而没去做,太绝对,所以要选A。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-30
楼上的对的
should have done 译为“本应该”,意思是本应该这么做,却没有这么做
我们能赶上火车 是could
by the way ought to have done 和 should have done 是一个意思
第2个回答  2009-09-29
should have done 译为“本应该”,意思是本应该这么做,却没有这么做。有些责备的语气。而could have done 译为“本可以”,意思是按照提供的条件去做的话,本可以怎么样,可是事实却是,你没有按照条件去做,也没有达到最终的目的。
第3个回答  2009-09-28
must could should would might
这几个情态动词都可以用来表示对现在或者对过去的推测。
但他们表示的意思是有区别的,一般情况下不可以交换使用。
would 是最普通的陈述语气,如果你是客观的叙述一件事情,就可已选择这个词。
它的使用在条件句中很常见。如,If I hadn’t been ill, I would have finished the work.
must 和might放在一起区分比较容易分辨。
must 表示是的是十分肯定的推测,翻译成“一定”;might表示的是不太确定的预期,翻译成“可能”。
如,He musht have done it last night./He might done it last night.
could have done ,意思是“本来能够”
就是你题目中的这种用法:如果早五分钟,我们本来能够赶上末班车。
should have done,意思是“本应该”
比如你这句话可以延伸成为一个对话:
--Five minutes earlier,we could have caught the last train.
--Yes.We should have hurried up.
如果我们早五分钟,就能赶上末班车了。
是的,我们本应该快点。

这样说不知道你是否明白了。
should have done 和ought to have done差别不是很大,只是语气强弱之分,可以忽略不计。本回答被提问者采纳
相似回答