问题 单项选择题

为了计算1+3+5+…+99的值,某人编程如下k=1S=0While k<=99k=k+2 :S= S+ kWendPrint S在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是【 】

A.While…Wend循环语句错误,应改为For k=1 To 99…Next k

B.循环条件错误,应改为While k<99

C.循环前的赋值语句k=l错误,应改为k=0

D.循环中两条赋值语句的顺序错误,应改为S= S+ k:k=k+2

答案

参考答案:D

解析:综合程序代码及题意,程序一开始就设置了变量k=1,表示计算式的第一项,在循环体中应先将其累加到和值s中,然后k再增加步长2变成下一个数3,依次类推,而本题的程序代码错在丢了第一项,即计算的是3+5+7+…+99的值而不是1+3+5+7+…+99的值,因此只需将语句s=s+k和k=k+2互换一下顺序即可。

选择题
填空题