单选题 己知在4行3列的全局数组score(4,3)中存放了4个学生3门课程的考试成绩(均为整数)。现需要计算每个学生的总分,某人编写程序如下:
Option Base 1
Private Sub Commandl_Click()
Dim sum As Integer
sum=0
For i=1 To 4
Forj=1 To 3
sum= sum+score(i,j)
Next j
Print"第"&i&"个学生的总分是:";sum
Next i
End Sub
运行此程序时发现,除第1个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是______。
  • A.把外层循环语句For i=1 To 4改为For i=1 To 3内层循环语句Forj=1 To 3改为Forj=1 To 4
  • B.把sum=0移到For i=1 To 4和Forj=1 To 3之间
  • C.把sum=sum+score(i,j)改为sum=sum+score(j,i)
  • D.把sum=sum+score(i,j)改为sum=score(i,j)
【正确答案】 B
【答案解析】[解析] 程序变量sum的值在开始计算第2个学生的总成绩时,仍保留着第一个学生的总成绩,这样会把前面学生的总成绩计算进去,显然不对。因此,sum=0这一句应该放在第1层For循环体的第一句,即For i=1 To 4和forj=1 To 3之间。