t=A(j)
a(j)=a(j+1)
a(j+1)=t
Endif
endfor
Endfor
Fori=1to10
?
?
a(i),''
Endfor
21.输出Fibonacci(斐波那契)数列的前十项
Clear
Dimea(10)
a
(1)=1
a
(2)=1
Fori=3to10
a(i)=a(i-1)+a(i-2)
Endfor
Fori=1to10
?
?
A(i)
Endfor
22.输出杨辉三角的前十行
Clear
Dimea(10,10)
Fori=1to10
A(I,1)=1
A(I,i)=1
Endfor
Fori=3to10
Forj=2toi-1
A(I,j)=a(i-1,j)+a(i-1,j-1)
Endfor
Endfor
Fori=1to10
Forj=1toi
?
?
A(I,j)
Endfor
?
Endfor
23.对2×3矩阵转置
Clea
Dimea(2,3),b(3,2)
fori=1to2
forj=1to3
inputtoa(I,j)
endfor
endfor
fori=1to3
forj=1to2
b(I,j)=a(j,i)
endfor
endfor
fori=1to3
forj=1to2
?
?
b(I,j)
Endfor
?
endfor
24.求三位数中的所有水仙花数(即指一个三位数,其各位数字立方和等于该数本身)
Clea
forx=100to999
a=int(x/100)
b=mod(int(x/10),10)
c=mod(x,10)
ifx==a*a*a+b*b*b+c*c*c
?
x
Endif
endfor
25.求100以内的所有完数(即一个数恰好等于除它本身外的所有因子之和)
Clea
fori=3to100
s=0
forj=1toi-1
ifmod(i,j)==0
s=s+j
endif
endfor
ifi==s
?
i
endif
endfor
26.已知三角形的三边(从键盘输入),求其面积(S^2=p(p-a)(p-b)(p-c),p=(a+b+c)/2)
Clear
input'a='toa
input'b='tob
input'c='toc
ifa+b>canda+c>bandb+c>a
p=(a+b+c)/2
s=sqrt(p*(p-a)*(p-b)*(p-c))
?
s
else
?
'三边不能组成三角形'
Endif
27.求二元方程的根(分三种情况:
两个不等实根,两个相等实根,无实根)
clea
inpu'a='toa&&a<>0
inpu'b='tob&&b<>0
inpu'c='toc
i=b*b-4*a*c
ifi<0
?
"方程无实根!
"
else
ifi==0
r=(-b)/(2*a)
?
"方程有两个相等实数根:
",r
else
x1=(-b+sqrt(i))/(2*a)
x2=(-b-sqrt(i))/(2*a)
?
"方程有两个不相等实数根:
",x1,x2
endif
endif
28.输入任意一个五位整数,前后对应位置上的数据进行交换重新排列(即逆序排列)(例:
25984→48952)
clea
dimea(5)
inputob
a
(1)=int(b/10000)
a
(2)=mod(int(b/1000),10)
a(3)=mod(int(b/100),10)
a(4)=mod(int(b/10),10)
a(5)=mod(b,10)
fori=1toint(5/2)
t=a(i)
a(i)=a(6-i)
a(6-i)=t
endfor
c=a
(1)*10000+a
(2)*1000+a(3)*100+a(4)*10+a(5)
?
b,c
29.找出一个3x3矩阵的“鞍点”,即该位置上的元素在该行上最大,在该列上最小(也有可能没有鞍点)
clea
dimea(3,3)
flag=.t.
fori=1to3
forj=1to3
input'a('+str(I,2)+','+str(j,2)+')='toa(i,j)
endfor
endfor
fori=1to3
max=a(i,1)
col=1
forj=2to3
ifmaxmax=a(i,j)
col=j
endif
endfor
min=a(1,col)
row=1
fork=2to3
ifmin>a(k,col)
min=a(k,col)
row=k
endif
endfor
ifmax==min
?
a(row,col),'是鞍点,在',row,'行',col,'列'
flag=.f.
endif
endfor
ifflag==.t.
?
'无鞍点'
endif
30.求S(n)=a+aa+aaa+...+aaa....aaa(其中有n个a)之值,a是一个数字,n和a由键盘键入(例如:
2+22+222+22222+22222,此时n=5)
clea
inpu'a='toa
inpu'n='ton
s=0
t=a
fori=1ton
s=s+t
t=a+t*10
endfor
?
s
31.把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案?
?
?
?
13
clea
s=0
fora=11to100
?
?
forb=11to50
?
?
?
?
forc=11to20
?
?
?
?
?
?
ifa+2*b+5*c=100
?
?
?
?
?
?
?
?
s=s+1
?
?
?
?
?
?
endif
?
?
?
?
endfor
?
?
endfor
next
?
s
32.一只猴子一天从山上摘来一袋桃子,从这天开始,它每天都要把袋中的桃子平分为二堆,吃掉其中的一堆,然后再从剩下的桃中拿出一个解谗,等到第10天,它发现袋中只有一只桃可吃啦,问猴子总共摘了多少桃。
?
?
?
1534
clea
dimef(10)
f
(1)=1
f
(2)=4
f(3)=10
s=0
forn=4to10
f(n)=2*f(n-1)+2
s=f(n)
endfor
?
s
33.已知S1=1,S2=1+2,S3=1+2+4,S4=1+2+4+8,S5=1+2+4+8+16,…,编制一个程序求S=S1+S2+S3+S4+S5+…+S20的值。
?
?
?
2097130
clea
dimef(20)
f
(1)=1
f
(2)=2
f(3)=4
s=0
q=0
forn=1to20
?
?
f(n)=2^(n-1)
?
?
s=s+f(n)
?
?
q=q+s
?
?
endfor
?
?
?
q?
?
?