呵呵,一样简单的:
Dim vals() As Double = {0.1,0.35,0.75,0.95}
Dim nms() As String = {"音乐","体育","地理","生物","历史","化学","政治","物理","英语","数学","语文","美术"}
Dim cnt As Integer = DataTables("表A").DataRows.count
For Each nm As String In nms
Dim drs As List (of DataRow) = DataTables("表A").Select("", nm & " Desc")
Dim dn As String = nm & "等级"
For i As Integer = 0 To drs.count - 1
Dim v As Double = i /cnt
If v > vals(3) Then
drs(i)(dn) = "E"
ElseIf v > vals(2) Then
drs(i)(dn) = "D"
ElseIf v > vals(1) Then
drs(i)(dn) = "C"
ElseIf v > vals(0) Then
drs(i)(dn) = "B"
Else
drs(i)(dn) = "A"
End If
Next
Next