已知在4行3列的全局数组score(4,3)r}1存放了4个学生3门课程的考试成绩(均为整数)。现需要计算每个学生的总分,某人编写程序如下: Option Base 1 Private Sub Command I_Click() D

admin2018-09-19  26

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

选项 A、把外层循环语句For i=1 To 4改为For i=1 To 3内层循环语句For j=l To 3改为For j=1 To 4
B、把sum=0移到For i=1 To 4和For j=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一句应该放在第一层For循环体的第一句,即Fori= 1 to 4和forj=1 to3之间。
转载请注明原文地址:https://jikaoti.com/ti/2rm0FFFM
0

相关试题推荐
随机试题
最新回复(0)