我编了一个程序:
clea
dime x(1,3),k(3) x(1,1)=3 x(1,2)=6 x(1,3)=2
k(1)="a" k(2)="b" k(3)="c"
for a=0to 9 for b=0to 9 for c=0to 9
for j=1to 3 for i=1to 3 aa="n"+str(1,1)+k(j)+k(i) &aa=&k(j)+x(1,i) if &aa>=10 &aa=&aa-10 endi r=aa+"3" do case case &aa%3=0 &r=3 case &aa%3=1 &r=1 case &aa%3=2 &r=2 endc endf endf
if n1aa3=2 ?a,b,c wait endi
endf endf endf
retu
func gg para s1,s2,s3 dime x(3) x(1)=s1 x(2)=s2 x(3)=s3
for i=1to 3 for j=i+1to 3 if x(i)>x(j) t=x(i) x(i)=x(j) x(j)=t endi endf endf s=3 for i=1to 2 if x(i)=x(i+1) s=s-1 endi endf retu s endf
运行后正确,第一个号码应该是a最小为2,运行结果为:200,200,等等
但是当我把自定义函数用上后,即在循环中加上程序段:
gs=gg(a,b,c) do case case gs%3=0 gs3=3 case gs%3=1 gs3=1 case gs%3=2 gs3=2 endc
输出条件不变,仍是if n1aa3=2
结果却变了,为111,111等等
但是第一个数a不可能为1,百思不得其解,望高手指点,Thank you very much.
|