具体要求:
用输入框引入10个数据,对它按升序来排列,用对话框形式显示结果大虾救救我哦,要不然我下学期还要学VB,那会抑郁而死的,呜……

解决方案 »

  1.   

    #include<stdio.h>void main()
    {
      int i,j,k,temp;
      int a[]={23,13,1,2,3,4,5,6,76,33};
     
    for(i=0;i<9;i++)
      for(j=i+1;j<10;j++) {
         k=i;
         if(a[k]>a[j]) 
              k=j;
       }
       if(k!=i)  {
        temp=a[i];
        a[i]=a[k];
        a[k]=temp;
      }
    }
    随便写了个C的,basic的自己写吧。
    可能有些小错误,思路就这样。
      

  2.   

    我要的是用VISUAL BASIC写的,C不可以,55555555
      

  3.   

    给你一个我编制的排序模块罢Sub BubbleSort(List() As Long, Number As Long, DataCount As Long, SmallToBig As Boolean)
    '/蒋玉龙于2003-03-08晚0:36编制,数组排序功能/'传递过来的数组,共2维,N组数据//根据第Number个数据信息排序//总共DataCount个数据信息
    '例如:X(N,4)→共N组数据,每组4个数据信息,分为/N,0/N,1/N,2/N,4/
    Dim First As Long, Last As Long
    Dim ii As Long, JJ As Long, KK As Long
    '定义一个可以保存一维多数据的临时变量
    Dim Temp() As Long
    ReDim Temp(DataCount)
    '***********************************************************
    '调用方法
    'Dim List(0 To 3, 0 To 2) As Long
    'Dim II As Long
    '
    'List(0, 0) = 15
    'List(0, 1) = 23 →用做排序
    'List(0, 2) = 62
    '
    'List(1, 0) = 43
    'List(1, 1) = 53 →用做排序
    'List(1, 2) = 34
    '
    'List(2, 0) = 46
    'List(2, 1) = 231→用做排序
    'List(2, 2) = 34
    '
    'List(3, 0) = 12
    'List(3, 1) = 13 →用做排序
    'List(3, 2) = 22
    '
    'BubbleSort List(), 2, 3, False
    '按照第2个信息排序,总共每维3组数据,从大到小
    '***************************************************************
    First = LBound(List, 1) '取得数组第1维上界
    Last = UBound(List, 1) '取得数组第1维下界——判断出来有多少数据
    'II是负责循环数据个数[维数],JJ是内层循环
    For ii = First To Last - 1  '冒泡排序法
        For JJ = ii + 1 To Last
            If SmallToBig = True Then '从小到大
                If List(ii, Number - 1) > List(JJ, Number - 1) Then
                    '记录第JJ个数据
                    For KK = 0 To DataCount - 1
                        Temp(KK) = List(JJ, KK)
                    Next
                    For KK = 0 To DataCount - 1
                      List(JJ, KK) = List(ii, KK)
                    Next
                    '恢复数据
                    For KK = 0 To DataCount - 1
                        List(ii, KK) = Temp(KK)
                    Next
                End If
            Else '从大到小
                If List(ii, Number - 1) < List(JJ, Number - 1) Then
                    '记录第JJ个数据
                    For KK = 0 To DataCount - 1
                        Temp(KK) = List(JJ, KK)
                    Next
                    For KK = 0 To DataCount - 1
                      List(JJ, KK) = List(ii, KK)
                    Next
                    '恢复数据
                    For KK = 0 To DataCount - 1
                        List(ii, KK) = Temp(KK)
                    Next
                End If
            End If
        Next
    Next
    End Sub
      

  4.   

    Option Explicit
    Dim i As Long, j As Long, t As LongDim a(10) As TextBox
    Private Sub Form_Activate()
    Randomize
    For i = 0 To 10
      Set a(i) = Text1(i)
      a(i).Text = Int(Rnd * 199) - 99
      a(i).BackColor = RGB(255, 255, 255)
    Next i
    Command1.Enabled = True
    Frame1.Height = 1980
    End Sub
    Private Sub Command1_Click()
    Command1.Enabled = False
    For i = 1 To 9
      Label2.Caption = " 从A(1)到A(" & Trim(11 - i) & _
         "),将相连两数进行比较,并将小者置前,A(" + Trim(11 - i) & _
          "),将为A(1)至A(" & Trim(11 - i) & ")中的最大者。“"
    For j = 1 To 10 - i
        a(j).BackColor = RGB(225, 0, 225): a(j + 1).BackColor = RGB(225, 0, 225)
      If Val(a(j).Text) > Val(a(j + 1).Text) Then
         MsgBox "交换A(" & Trim(j) & ")和A(" & Trim(j + 1) & ")", , "A(" & Trim(j) & ")>A(" & Trim(j + 1) & ")"
         t = a(j).Text: a(j).Text = a(j + 1).Text: a(j + 1).Text = t
      End If
       a(j).BackColor = RGB(225, 0, 225)
     Next j
     a(j).BackColor = RGB(0, 225, 0)
    Next i
    a(1).BackColor = RGB(0, 225, 0)
    Label2.Caption = " "
    Frame1.Height = 1000
    End Sub
    Private Sub Command2_Click()
     Form_Activate
    End Sub
    上面的调试运行成功,结果也很正确
      

  5.   


    for c=0 to 8
     for a=0 to 8-c
      if val(text1(a))>val(text1(a+1)) then  
                  'text1为一控件数组,也就是10个文本框
        temp1=text1(a)
        text1(a)=text1(a+1)
        text1(a+1)=temp1
      end if
     next a
    next cfor b=1 to 9
      text1(0)=text1(0) & "  " & text1(b)
    next bmsgbox text1(0)
      

  6.   

    msdn上都有的。想学好就自己动动手好不好。
      

  7.   

    向大家学习!'********************************************
    '对不起,放一点广告,对您带来的不便敬请原谅!
    广告:我的第一个Visual Basic 6.0作品,欢迎大家试用,注册用户得到全部源代码。         EasyDialog能够做什么?
    (为了增强Windows通用打开/保存对话框,能够快速的打开经常访问的文件夹或者文件)
    一、快速地在通用打开/保存对话框中打开你经常访问的文件夹/文件。
    二、快速地在Windows Explorer中打开经常访问的文件夹/文件。
    三、快速地在IE浏览器打开你经常访问的网站。
    四、快速地给你的朋友发Email
    五、能够使您方便地按照逻辑分类来组织和管理您的文件夹/文件,您经常访问的网址,您的Email地址。'********************************************
    '*下载EasyDialog:
    http://www.softboyzhou.com/download/EasyDialog.asp
    '***************
    '*购买EasyDialog:
    http://www.softreg.com.cn/shareware_view.asp?id=/7148D197-1C1D-4E84-B92A-EE2CC07D27C0/
    '***************
    '*给我写信:有什么问题请来信。
    [email protected]