1 输入10个数给x数组,找出其中值为最大的元素并将其与第一个元素互换,找出值最小的元素并将其与最后一个元素互换,其他元素不动。如
原来:8,7,9,15,0,3,-8,19,31,5
输出:31,7,9,15,0,3,5,19,8,-8
2 编写事件过程Command1_Click,完成下列运算:
(1)输入10个数到整型数组a;
(2)将a(1)各位数字和赋值到b(1)、a(2)各位数字和赋值到b(2)、...、a(10)各位数字和赋值到b(10);
(3)在窗体上以一行输出a数组各元素值(保持原输入值不变);
(4)在窗体上以一行输出b数组各元素值。
最好是VB6.0的,用PRINT直接输出的
谢谢!小妹刚来初次涉猎,经人推荐来到这里,希望能够解决
关于第一题,
Dim x(1 To 10) As Integer, max As Integer, min As Integer
Dim m As Integer, n As Integer, temp As Integer
Dim i As Integer
    Print "原来的数是:"
    n = 1
    m = 1
    For i = 1 To 10
        x(i) = InputBox("请依次输入10个数,第" & i & "个数为:")
        If x(i) > max Then max = x(i): m = i
        If x(i) < min Then min = x(i): n = i
        Print x(i);
    Next i
    Print
    temp1 = x(1): temp2 = x(10)
    x(1) = x(m): x(10) = x(n)
    If m <> 1 And m <> 10 And n <> 1 And m <> 10 Then
        x(m) = temp1: x(n) = temp2
        Else
        Print
    End If
         
    
    Print "输出的数是:"
    
    For i = 1 To 10
       Print x(i);
    Next i
    Print
上述绿色的字体的,数的赋值出问题了弄不明白
在这里先谢谢了!

解决方案 »

  1.   

    Dim x(1 To 10) As Integer, max As Integer, min As Integer
    Dim m As Integer, n As Integer, temp1 As Integer, temp2 As Integer
    Dim i As Integer
      Print "原来的数是:"
      For i = 1 To 10
      x(i) = InputBox("请依次输入10个数,第" & i & "个数为:")
      Print x(i);
      Next i
      Print
      
      m = 1: n = 1
      max = x(1): min = x(1)
      For i = 1 To 10
      If x(i) > max Then max = x(i): m = i
      If x(i) < min Then min = x(i): n = i
       Next i
      
      
      x(m) = x(1): x(n) = x(10): x(1) = max: x(10) = min
      
      
      Print "输出的数是:"
        
      For i = 1 To 10
      Print x(i);
      Next i
      Print
      

  2.   

    Dim x(1 To 10) As Integer, max As Integer, min As Integer
    Dim m As Integer, n As Integer, temp As Integer
    Dim i As Integer
      Print "原来的数是:"
      n = 1
      m = 1
      For i = 1 To 10
      x(i) = InputBox("请依次输入10个数,第" & i & "个数为:")
      If i = 1 Then max = x(1): min = x(1)
      If x(i) > max Then max = x(i): m = i
      If x(i) < min Then min = x(i): n = i
      Print x(i);
      Next i
      Print
      temp1 = x(1): temp2 = x(10)
      x(1) = x(m): x(m) = temp1: temp2 = x(10)  x(10) = x(n): x(n) = temp2 '最大数在最后时必须重置temp2
      Print "输出的数是:"
      For i = 1 To 10
      Print x(i);
      Next i
      Print
      

  3.   

    第二道题:
    Dim a(1 To 10) As Long, i As Integer, k As Integer, j As Integer, h As Integer
    Dim b(1 To 10) As Integer, s As String
    For i = 1 To 10
      a(i) = InputBox("请依次输入10个数,第" & i & "个数为:")
      Print a(i);
      Next i
      Print
    For i = 1 To 10
       s = Str(a(i))
       j = Len(s)
         For k = 1 To j
              h = Val(Mid(Str(a(i)), k, 1))
            b(i) = b(i) + h
         Next k
    Print b(i);
    Next i
      

  4.   

    1.没有必要判断,可直接x(m) = temp1: x(n) = temp2
    2.Dim a(), b(9)
    a = Array(8, 7, 9, 15, 0, 3, -8, 19, 31, 5)
    For i = 0 To 9
        Print Val(a(i));
    Next
    Print
    For i = 0 To 9
        b(i) = Sgn(a(i)) * Right(a(i), 1)
    NextFor i = 0 To 9
        Print Val(b(i));
    Next