问题 单项选择题

已知4行3列的全局数组score(4,3)中存放了4个学生3门课程的考试成绩(均为整数),现需要计算每个学生的总分,某人编写程序如下:
Option Base 1
Private Sub Command1_Click()
Dim sum As Integer
sum=0
For i=1 To 4
For j=1 To 3
sum=sum+sore(i,j)
Next j
Next i
End Sub
运行程序时发现,除第一个人的总分计算正确外,其他人的总分都是错误的。程序需要修改。以下修改方案中正确的是

A.把外层循环语句For i=1 To 4改为For j=1 To 3
内层循环语句For j=1 To 3改为For i=1 To 4

B.把sum=0移到For i=1 To 4和For j=1 To 3之间

C.把sum=sum+sore(i,j)改为sum=sum+sore(j,i)

D.把sum=sum+sore(i,j)改为sum=sore(j,

答案

参考答案:B

解析: 在for循环中,i循环用来遍历所有学生,j循环用来计算每个学生的成绩,应将sum=0移动到i循环和j循环之间,这样在计算每个学生的成绩时,可把sum清零,从而统计出正确的成绩,而源代码最后算出的是所有学生的总成绩,所以本题的答案为B。

单项选择题
单项选择题