If the weather had been better,we could have had a picnic.But it___all dayA.rained B.rains C.has rained D.is raining我的问题是想要表达过去一直...且与all day这样的时间联用了,应该用was raining更好吧?表示:但是下了一整天的雨,过去一段时间某动作一直进行.选A 只能是时态上没有对应的了,没办法才选的.

问题描述:

If the weather had been better,we could have had a picnic.But it___all day
A.rained B.rains C.has rained D.is raining
我的问题是想要表达过去一直...且与all day这样的时间联用了,应该用was raining更好吧?表示:但是下了一整天的雨,过去一段时间某动作一直进行.选A 只能是时态上没有对应的了,没办法才选的.

正如你所的,最好是用过去进行时,因为句子是想表明一种过去的持续的状态,但是答案没有。
我们再细看题目:
从If the weather had been better,we could have had a picnic可以看出下雨已经是过去的动作,B和D答案明显时态不对。
那C呢,过去完成时强调完成动作,只是表明一种过去完成过下雨的动作,而不能明确的表明一种持续的动作,与我们句意不符。
那么最后,我们发现用一般过去时也能达到“(过去)一直在下雨了”的意思。
这在语法中叫做用一般过去时表示过去一直进行的状态。
也叫做一般过去时代替过去进行时。

A. rained
答案解释的不怎么样。
说说吧。
首先,这是个虚拟语气:
要是天气好一点儿就好了,那样,我们就可以去野餐了。——事实上,一点儿也不好。
因为:——下面应该是个事实了,与前面的虚拟语气一点儿关系也没有。
即:(但那天)下了一整天的雨,表示过去的事实,自然要用过去一般时。But it_rained__all day
用进行时有什么意义?并没有表示进行的时间状语,不可以用。
知识在于点滴积累,更在于不懈努力。
祝你学习进步,更上一层楼!
——另外,正在冲采纳率,请记得采用,谢谢合作!(*^__^*)

首先前面的整个句子是过去的事情.所以描述过去用过去时
其次was raining是强调动作,rained是强调状态,这里强调全天下雨这个状态.