程序要求如下: 
1、程序先要求使用者输入N个需要排序的数,然后使用者一次输入N个数,最后一次输出原始输入数列、从小到大排列后的数列、从大到小排列后的数列、两端大中间小排列后的数列。(方法不唯一) --------- 
各位老大,我是PB+SQLSERVER ORACLE的,没弄过VFP,这是我小弟的一个考试题,请大家帮个忙,程序带上注释,谢谢! 
另外我拿小弟糊涂直至,那个版本的VFP都不知道,各位老大,写完程序,请说明是那个版本下运行的程序,谢谢!

解决方案 »

  1.   

    本帖最后由 cxmcxm 于 2008-10-09 21:35:28 编辑
      

  2.   

    排序,还是多看看帮助吧
    不用VFP,帮你顶下
      

  3.   


    你去VFP版块找个人过来回答吧,给他们发消息,他们版主应该管不到SQL版,
    好久没用VFP了,机子上也不能调试,估计帮不上了,呵呵
      

  4.   

    汗了,给4个人发了信息,而且VFP那个帖子每人给了25分,都不过来,啥人啊
      

  5.   

    好久不来了,我怎么成奴隶了,CSDN搞什么呢,那个什么涛不管管
      

  6.   

    现在是VFP9.0,而学校还考VFP6.0以下的东西,太误人子弟了,所以回不回答意义不大。Clear
    Accept "输入数字的个数:" To lcNum
    lnNum=Val(lcNum)
    If lnNum>0
    Public Array aMyArray(lnNum)
    For lnI=1 To lnNum
    Input '输入第'+Alltrim(Str(lnI))+'个数字' To aMyArray(lnI)
    Endfor
    ?'原始输入数列:'
    For lnI=1 To lnNum
    ?aMyArray(lnI)
    Endfor
    ?'从小到大排列后的数列:'
    Asort(aMyArray)
    For lnI=1 To lnNum
    ?aMyArray(lnI)
    Endfor
    ?'从大到小排列后的数列:' For lnI=lnNum To 1 step -1
    ?aMyArray(lnI)
    Endfor
    ?'两端大中间小排列后的数列:'
    lcStr=''
    For lnI=1 To lnNum
    If Mod(lnI,2)=0
    lcStr=lcStr+Str(aMyArray(lnI))+Chr(10)
    Else
    lcStr=Str(aMyArray(lnI))+Chr(10)+lcStr
    Endif
    Endfor
    ?lcStr
    Else
    ?"输入的个数有误"
    Endif
      

  7.   

    可以在VFP各版本下运行.
    local n,a,i
    accept "请输入数字个数:" to n
    DIMENSION d(val(n))
    for i =1 to val(n)
    accept "请输入第"+str(i)+"个数:" to a
    d(i)=val(a)
    next
    =asort(d)
    ?"从小到大:"+chr(10)
    for i=1 to val(n)
    ?d(i)
    endfor
    ?chr(10)+"从大到小:"
    for i=val(n) to 1 step -1
    ?d(i)
    endfor
    ?chr(10)+"两端大中间小:"
    for i=val(n) to 1 step -2
    ?d(i)
    endfor
    if val(n)/2=int(val(n)/2)
    for i=1 to val(n) step 2
    ?d(i)
    endfor
    else
    for i=2 to val(n) step 2
    ?d(i)
    endfor
    endif
    ?chr(10)