问题
单项选择题
为了计算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互换一下顺序即可。