程序要求如下:
1、程序先要求使用者输入N个需要排序的数,然后使用者一次输入N个数,最后一次输出原始输入数列、从小到大排列后的数列、从大到小排列后的数列、两端大中间小排列后的数列。(方法不唯一) ---------
各位老大,我是PB+SQLSERVER ORACLE的,没弄过VFP,这是我小弟的一个考试题,请大家帮个忙,程序带上注释,谢谢!
另外我拿小弟糊涂直至,那个版本的VFP都不知道,各位老大,写完程序,请说明是那个版本下运行的程序,谢谢!
1、程序先要求使用者输入N个需要排序的数,然后使用者一次输入N个数,最后一次输出原始输入数列、从小到大排列后的数列、从大到小排列后的数列、两端大中间小排列后的数列。(方法不唯一) ---------
各位老大,我是PB+SQLSERVER ORACLE的,没弄过VFP,这是我小弟的一个考试题,请大家帮个忙,程序带上注释,谢谢!
另外我拿小弟糊涂直至,那个版本的VFP都不知道,各位老大,写完程序,请说明是那个版本下运行的程序,谢谢!
不用VFP,帮你顶下
你去VFP版块找个人过来回答吧,给他们发消息,他们版主应该管不到SQL版,
好久没用VFP了,机子上也不能调试,估计帮不上了,呵呵
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
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)