VF排序程序

来源:百度知道 编辑:UC知道 时间:2024/06/06 04:13:07
初学VF老师布置的一个作业叫回来用数组和冒泡法来做一个程序:输入10个数,安从小到大的顺序输出这10个数。
我遍完他老说IF语句那符号数据类型不匹配什么的谁能帮我把这程序改对了.....
clear
dimension a(10)
x=0
y=0
xiao=0
store 0 to a(10)
for i=1 to 10
@ 1,2 say "请随意输入10个数" get a(10)
read
endfor
for i=1 to 10
x=a(i)
for j=0 to 9
y=a(j+1)
if x<y
xiao=a(j+1)
endif
endfor
@ 2,1 say str(xiao)
endfor

虽然我把语法的错误排除了,
但你的逻辑全完不对
CLEAR
DIMENSION A(10) AS INTEGER

X=0
Y=0
XIAO=0
M=3
STORE 0 TO A(M)
FOR I=1 TO M
ACCEPT "请您输入A("+ STR(I) +")" TO A(I)
NEXT

FOR k=1 TO M
X=A(k)
FOR J=0 TO M-1
Y=A(J+1)
IF X < Y THEN
XIAO=A(J+1)
ENDIF
ENDFOR
? XIAO
NEXT

——下是正确的程序

CLEAR
DIMENSION A(10)
m=4
*输入数组值
FOR I=1 TO M
input "请您输入A("+ lTRIM(STR(I)) +")" TO A(I)
NEXT
CLEAR

*输出原数组
? "原数组"
FOR i=1 TO M
? "A("+ lTRIM(STR(I)) +")="+ LTRIM(STR(A(I)))
NEXT w

*排序
FOR i=1 TO M
FOR j=i+1 to m
IF a(j)<a(i) then

temp=a(i)
a(i)=a(j)
a(j)=temp
ENDIF
NEXT
NEXT

*输出排序后数组
? "排序后数组"
FOR i=1 TO M
? "