问题
单项选择题
设a、b都是自然数,为求a除以b的余数,编写了以下函数:
Function fun(a As Integer, b As Integer)
While a>b
a=a-b
Wend
fun=a
End Function
在调试时发现函数是错误的,为使函数能产生正确的返回值,应做的修改是
A.把a=a-b改为a=b-a
B.把a=a-b改为a=a\b
C.把While a>b改为While a<b
D.把While a>b改为While a>=b
答案
参考答案:D
解析: 选项A、C的改法都会造成小数减大数结果为负数的情况,改法不正确。选项B每次采用整除方法计算,算法不正确,例如a=8,b=5时,余数应为3,按选项B的改法,结果变成了1。原题中函数错误的原因是未处理a与b相等的情况,所以选项D为正确答案。