虚拟语气 should have done 与 could have doneFive minutes earlier,we_____the last trainA, could have caught B ought to have caught 为什么选A 为什么不选B 如果有个should have caught 可以选吗 为什么

问题描述:

虚拟语气 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。

楼上的对的
should have done 译为“本应该”,意思是本应该这么做,却没有这么做
我们能赶上火车 是could
by the way ought to have done 和 should have done 是一个意思

must could should would might这几个情态动词都可以用来表示对现在或者对过去的推测.但他们表示的意思是有区别的,一般情况下不可以交换使用.would 是最普通的陈述语气,如果你是客观的叙述一件事情,就可已选择这个词...

should have done 译为“本应该”,意思是本应该这么做,却没有这么做。有些责备的语气。而could have done 译为“本可以”,意思是按照提供的条件去做的话,本可以怎么样,可是事实却是,你没有按照条件去做,也没有达到最终的目的。