随机产生二维数组a(3,3),交换最左边和最右边的两列元素,然后输出对角线上的元素。
不明白显红那行哪里错了,如果有更简单的代码更好 多谢了 急!程序代码如下:
Private Sub Form_Click()
  Dim a(3, 3) As Integer
  For j = 0 To 3
     For i = 0 To 3
        a(i, j) = Int(90 * Rnd + 10)
    Next
  Next
  For i = 0 To 3
    temp = a(i, 0): a(i, 0) = a(i, 3): a(i, 3) = temp
  Next
  Print "输出数组对角线元素"
  For i = 0 To 3
    If i - (3 - i) <= 0 Then
        Print Tab(i * 3 + 1); a(i, i); Spc((2 - 2 * i) * 3 + 1); a(i, 3 - i)
    Else
        Print Tab((3 - i) * 3 + 1); a(i, 3 - i);
 此行显红          Spc((2 * i - 4) * 3 + 1); a(i, i) 
    End If
  Next
End Sub

解决方案 »

  1.   

    SPACE<>SPCPrivate Sub Form_Click()
      Dim a(3, 3) As Integer
      For j = 0 To 3
         For i = 0 To 3
            a(i, j) = Int(90 * Rnd + 10)
        Next
      Next
      For i = 0 To 3
        temp = a(i, 0): a(i, 0) = a(i, 3): a(i, 3) = temp
      Next
      Print "输出数组对角线元素"
      For i = 0 To 3
        If i - (3 - i) <= 0 Then
            Print Tab(i * 3 + 1); a(i, i); Spc((2 - 2 * i) * 3 + 1); a(i, 3 - i)
        Else
            Print Tab((3 - i) * 3 + 1); a(i, 3 - i); Space((2 * i - 4) * 3 + 1); a(i, i)
        End If
      Next
    End Sub
      

  2.   

    For i = 0 To 3
      For j = 0 To 3
      Print IIf(i + j = 3 Or i = j, a(i, j), Space(3));
      Next
      Print
      Next