[單項(xiàng)選擇題] 有人編寫了如下程序: Private Sub Form_Click() Dim s As Integer, x As Integer s=
[單項(xiàng)選擇題] 有人編寫了如下程序:
Private Sub Form_Click()
Dim s As Integer, x As Integer
s=0
x=0
Do While s=10000
x=x+1
s=s+x^2
Loop
Print s
End Sub
上述程序的功能是:計(jì)算s=1+22+32+…+n2+…,直到s>10000為止。程序運(yùn)行后,發(fā)現(xiàn)得不到正確的結(jié)果,必須進(jìn)行修改。下列修改中正確的是( )。
A.把x=0改為x=1
B.把Do While s=10000改為Do While s<=10000
C.把Do While s=10000改為Do while s>10000
D.交換x=x+1和s=s+x^2的位置
正確答案:B
參考解析:Do型循環(huán)結(jié)構(gòu),首先看條件判斷在循環(huán)體的前面還是后面,如果是先判斷條件,則有可能一次也不執(zhí)行循環(huán)體;如果是后判斷條件,則無論條件是什么,至少執(zhí)行一次循環(huán)體。在Until循環(huán)中條件為False時(shí)執(zhí)行循環(huán)體,條件為True時(shí)退出循環(huán);在While循環(huán)中條件為True時(shí)執(zhí)行循環(huán)體,條件為False時(shí)退出循環(huán)。本題中循環(huán)的條件為s=10000,意味著只有當(dāng)s=10000時(shí)才會(huì)繼續(xù)循環(huán),而實(shí)際情況是只有當(dāng)s>10000的時(shí)候才會(huì)退出循環(huán),故此循環(huán)條件應(yīng)該改為s<=10000。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。