这个函数是倒置数字的,在24排有错(在数字末尾为000的情况
mfp吧
全部回复
仅看楼主
level 11
xqooZXY 楼主
这个函数是倒置数字的,在24排有错(在数字末尾为000的情况下有错呢。)不知道怎么弄呢。
function daozhi(n)
variable m=floor(log10(n))
print(m+"\n")
print(1*10**m+"\n")
variable a
variable b=""
variable d=alloc_array(m+1)
variable g=m
do
a=floor(n/10**m)
b=a+b
d[m]=a
print("a="+a+"\n")
n=n-a*10**m
//print(n+"\n")
m=m-1
until m==-1
print("b="+b+"\n")
print("d="+d+"\n")
variable f=0
do
if d[0]==0
do
d[f]=d[(f+1)]
f=f+1
until f==g
g=g-1
else
break
endif
until d[0]!=0
print("d="+d+"\n")
return evaluate(b)
endf
2020年07月25日 21点07分 1
level 11
xqooZXY 楼主
已经修正
help
输入daozhi(数n)来倒置数n。
endh
function daozhi(n)
if n==0
return 0
endif
variable m=floor(log10(n))
//print(m+"\n")
//print(1*10**m+"\n")
variable a
variable b=""
variable d=alloc_array(m+1)
variable g=m
do
a=floor(n/10**m)
b=a+b
d[m]=a
//print("a="+a+"\n")
n=n-a*10**m
//print(n+"\n")
m=m-1
until m==-1
//print("b="+b+"\n")
//print("d="+d+"\n")
variable f=0
do
if d[0]==0
do
d[f]=d[(f+1)]
//print((f+1)+",")
f=f+1
until f>=g
f=0
g=g-1
else
break
endif
until d[0]!=0
//print("g="+g+"\n")
variable h=alloc_array(g+1)
variable j=0
do
h[j]=d[j]
j=j+1
until j>g
//print("d="+d+"\n")
//print("h="+h+"\n")
variable aa=""
variable cc=0
do
aa=aa+h[cc]
cc=cc+1
until cc>g
//print("aa="+aa)
return evaluate(aa)
endf
2020年07月31日 19点07分 2
level 5
wrong index意思是指标(索引)越界
2021年02月28日 15点02分 3
1