北通手柄键是反的:VF程序 不知道那错了 紧急

来源:百度文库 编辑:高考问答 时间:2024/05/14 14:30:26
CLEAR ALL
CLEAR
DIME A(20)
FOR I=1 TO 20
A(I)=INT(RAND(I)*1000)
?? A(I)
NEXT
wait"是否显示个位比十位小2的数(Y/N):" to YN
IF uppe (YN)="N"
EXIT
ENDIF
FOR i=1 to 30
a=int(A(i)/10)%10
b=A(i)%10
if b=a+2
?? A(i)
next
wait "是否将30个数从大到小排列并求出最大最小数(Y/N):" to YN
if uppe (YN)="N"
exit
endif
for i=1 to 29
for j=i+1 to 30
if A(i)<A(j)
T=A(i)
A(i)=A(j)
A(j)=T
ENDIF
ENDFOR
ENDFOR
?A(i)
?A(1),A(30)
next
wait "是否计算最小数的价乘(Y/N):" to YN
if uppe (YN)="N"
ENDIF
FOR jie=1 to A(i)
jie^=jie^+jie
next
?jie
wait "是否计算奇数和及偶数和(Y/N):" TO YN
if uppe (YN)="N"
ENDIF
s1=0
s2=0
FOR I=1 TO 30
IF A(i)/2=int(A(i)/2)
s2=s2+A(i)
else
s1=s1+A(i)
?s1,s2
next
wait "是否计算水仙花数(Y/N):" TO YN
if uppe (YN)="N"
ENDIF
for i=1 to 30
b=int(i/100)
s=int(mod(1,100)/10)
g=mod(1,100)
if b***3+s***3+g***3=i
?i
endif
wait "是否求出素数(Y/N):" TO YN
if uppe (YN)="N"
ENDIF
FOR I=1 TO 30
FOR J=2 TO 1/2(SQRT(1))
IF MOD (I,J)=0
EXIT
ENDFOR
IF J>1/2(SQRT(1))
?I
ENDIF
ENDFOR
SET TALK ON
CANCEL

求救

程序中多处有误,修改如下:
CLEAR ALL
CLEAR
DIME A(30)
FOR I=1 TO 30
A(I)=INT(RAND(I)*1000)
?? A(I)
NEXT
wait"是否显示个位比十位小2的数(Y/N):" to YN
IF uppe (YN)="Y"
for i=1 to 30
c=int(A(i)/10)%10 && c是十位数
b=A(i)%10 &&b是个位数
if c=b+2
?? A(i)
endif
next
endif
wait "是否将30个数从大到小排列并求出最大最小数(Y/N):" to YN
if uppe (YN)="Y"
for i=1 to 29
for j=i+1 to 30
if A(i)>A(j)
T=A(i)
A(i)=A(j)
A(j)=T
ENDIF
ENDFOR
ENDFOR
for i=1 to 30
?? A(i)
next
?A(1),A(30)
endif
wait "是否计算最小数的价乘(Y/N):" to YN
if uppe (YN)="Y"
jie=1
FOR i=1 to A(1)
jie=jie*i
next
?jie
endif
wait "是否计算奇数和及偶数和(Y/N):" TO YN
if uppe (YN)="Y"
s1=0
s2=0
FOR I=1 TO 30
IF A(i)/2=int(A(i)/2)
s2=s2+A(i)
else
s1=s1+A(i)
endif
next
?s1,s2
endif
wait "是否计算水仙花数(Y/N):" TO YN
if uppe (YN)="Y"
for i=1 to 30
b=int(i/100)
s=int(mod(1,100)/10)
g=mod(1,100)
if b**3+s**3+g**3=i
?i
endif
next
endif
wait "是否求出素数(Y/N):" TO YN
if uppe (YN)="Y"
FOR I=2 TO 30
FOR J=2 TO i/2+1
IF MOD (I,J)=0
EXIT
endif
next
IF J>=i/2+1
?I
ENDIF
ENDFOR
endif
SET TALK ON
CANCEL

这是做什么功能的
for 结束用错了吧