VF30道程序设计题参考答案.docx

上传人:b****4 文档编号:24855836 上传时间:2023-06-02 格式:DOCX 页数:19 大小:17.83KB
下载 相关 举报
VF30道程序设计题参考答案.docx_第1页
第1页 / 共19页
VF30道程序设计题参考答案.docx_第2页
第2页 / 共19页
VF30道程序设计题参考答案.docx_第3页
第3页 / 共19页
VF30道程序设计题参考答案.docx_第4页
第4页 / 共19页
VF30道程序设计题参考答案.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

VF30道程序设计题参考答案.docx

《VF30道程序设计题参考答案.docx》由会员分享,可在线阅读,更多相关《VF30道程序设计题参考答案.docx(19页珍藏版)》请在冰豆网上搜索。

VF30道程序设计题参考答案.docx

VF30道程序设计题参考答案

1求圆的面积

clea

inpu'请输入半径='tor

ifr>=0

s=pi[]*r^2

?

's=',s

else

?

'此时半径无意义'

endif

retu

 

2求分段函数的值

clea

inpu'请输入x='tox

docase

casex>0

y=2*x+5

casex=0

y=-x

casex<0

y=x

endcase

?

'y=',y

settalkon

retu

3输入一个成绩判断等级

clea

input'请输入成绩='tox

ifx<=100andx>=0

docase

casex<60

?

'不及格'

casex<70

?

'及格'

casex<80

?

'中'

casex<90

?

'良'

otherwise

?

'优秀'

endcase

endif

ifx>100orx<0

?

'成绩无效'

endif

retu

4输入多个成绩判断等级

clea

dimea[6]

fori=1to6

inpu'请输入成绩:

'toa[i]

?

':

',str[a[i],3]

ifa[i]<=100anda[i]>=0

docase

casea[i]<60

?

'不及格'

casea[i]<70

?

'及格'

casea[i]<80

?

'中'

casea[i]<90

?

'良'

otherwise

?

'优秀'

endcase

endif

ifa[i]>100ora[i]<0

?

'成绩无效'

endif

endfor

retu

5求和1到100的和

clea

s=0

fori=1to100

s=s+i

endfor

?

's=',s

retu

61to100乘

clea

s=1

fori=2to100

s=s*i

endfor

?

's=',s

retu

71+3+……+99

clea

s=0

fori=1to99step2

s=s+i

endfor

?

's=',s

retu

81-2+3-……-100

clea

s=0

fori=1to100

s=s-(-1)^i*i

endfor

?

's=',s

retu

91+1/2+2/3+3/5+……前十项和

clea

s=1

a=1

b=1

fori=1to9

t=a

a=b

b=t+b

s=s+a/b

endfor

?

's=',s

retu

10.1+2!

+3!

+

clea

s=0

t=1

fori=1to10

t=t*i

s=s+t

endif

?

's=',s

retu

11.对学生表中所有入学成绩≥650分的学生免去贷款

clea

opendatabase教学管理

use学生

if入学成绩>=650

?

姓名,'免去贷款'

endif

retu

12.输出图形

******************

******************

******************

******************

第一个

clea

fort=1to4

fori=1tot

?

?

'*'

endfor

?

endfor

retu

下面是第五个图形

clea

fort=4to1step-1

?

space[4-t]

fori=1tot

?

?

'*'

endfor

endfor

retu

下面是第三个图形

clea

fort=1to4

?

space[4-t]

fori=1to2*t-1

?

?

'*'

endf

endf

retu

13.判断一个整数是否素数

clea

input'请输入x='tox

fori=2tox-1

ifmod[x,i]=0

?

x,'不是素数'

exit

endif

endfor

Ifi>x-1

?

x,'是素数'

endif

retu

14.判断十个整数是否素数

clea

dimea(10)

forj=1to10

input'请输入x='toa(j)

 ?

fori=2toa[j]-1

ifa[j]/i=int(a[j]/i)

exit

endif

endfor

ifi>a[j]-1

?

a[j],'是素数'

else

?

a[j],'不是素数'

endif

endfor

retu

15.找出两个数的大数和小数

clea

dimea[2]

fori=1to2

input'请输入x='toa[i]

Endfor

ifa[1]>=a[2]

?

a[1]

else

?

a[2],'较大'

endif

retu

16.找出三个数的最大数和最小数

clea

input'请输入一个数:

'tox

storextomax,min

fori=2to3

input'请输入一个数:

'tox

ifmax<=x

max=x

else

min=x

endif

endfor

?

'最大数:

',max

?

'最小数:

',min

retu

17.找出十个数的最大数和最小数

clea

dimea[10]

fori=1to10

input'请输入x='toa[i]

endfor

forj=9to1step-1

fori=1toj

ifa[i]<=a[i+1]

t=a[i]

a[i]=a[i+1]

a[i+1]=t

endif

endfor

endfor

?

'最大值',a[1]

?

'最小值',a[10]

retu

18.找出2×3矩阵中的最大数和最小数

clea

dimea[2,3]

fori=1to2

forj=1to3

input'请输入x='toa[i,j]

endfor

endfor

fori=1to1

forj=1to2

ifa[i,j]>=a[i,j+1]

t=a[i,j]

a[i,j]=a[i,j+1]

a[i,j+1]=t

endif

endfor

endfor

forj=1to3step2

fori=1to1

ifa[i,j]>=a[i+1,j]

t=a[i,j]

a[i,j]=a[i+1,j]

a[i+1,j]=t

endif

endfor

endfor

?

'最小值=',a[1,1]

?

'最大值=',a[2,3]

retu

19.对三个整数从大到小排序

clea

dimea[3]

fori=1to3

input'请输入x='toa[i]

endfor

forj=2to1step-1

fori=1toj

ifa[i]<=a[i+1]

t=a[i]

a[i]=a[i+1]

a[i+1]=t

endif

endfor

endfor

fori=1to3

space[2]

?

a[i]

endf

retu

20.对十个整数从大到小排序(用选择法和起泡法两种方法

clea

dimea[10]

fori=1to10

input'请输入x='toa[i]

endfor

forj=9to1step-1

fori=1toj

ifa[i]<=a[i+1]

t=a[i]

a[i]=a[i+1]

a[i+1]=t

endif

endfor

endfor

fori=1to10

space[2]

?

a[i]

endfor

retu

21.输出Fibonacci(斐波那契)数列的前十项

clea

dimea[10]

fori=1to10

ifi<3

a[i]=1

else

a[i]=a[i-2]+a[i-1]

endif

?

a[i]

endfor

 ?

retu

22.输出杨辉三角的前十行

clea

dimeaa(10,10)

fori=1to10

?

space(20-2*i)

forj=1toi

ifj>1.and.j

aa[i,j]=aa(i-1,j-1)+aa(i-1,j)

else

aa(i,j)=1

endif

?

?

space[1]+str(aa[i,j],4)

endfor

?

endfor

retu

23.对2×3矩阵转置

 clea

dimea[2,3]

fori=1to2

forj=1to3

input'请输入数值='toa[i,j]

endfor

endfor

dimeb[3,2]

forj=1to3

fori=1to2

b[j,i]=a[i,j]

?

?

b[j,i]

endfor

?

endfor

retu

24.求三位数中的所有水仙花数(即指一个三位数,其各位数字立方和等于该数本身)

clea

fora=1to9

forb=0to9

forc=0to9

ifa^3+b^3+c^3=100*a+10*b+c

?

100*a+10*b+c

endif

endfor

endfor

endfor

retu

25.求100以内的所有完数(即一个数恰好等于除它本身外的所有因子之和)

clea

fora=1to100

s=0

fori=1toa-1

ifa/i=int[a/i]

s=s+i

endif

endfor

ifa=s

?

s

endif

endfor

retu

26.已知三角形的三边(从键盘输入),求其面积(S^2=p(p-a)(p-b)(p-c),p=(a+b+c)/2)

clea

input'请输入边长='toa

input'请输入边长='tob

input'请输入边长='toc

p=(a+b+c)/2

m=p*(p-a)*(p-b)*(p-c)

?

's=',sqrt(m)

retu

27.求二元方程的根(分三种情况:

两个不等实根,两个相等实根,两个不等虚根)

clea

i=val['i']

input'请输入系数='toa

input'请输入系数='tob

input'请输入系数='toc

j=b^2-4*a*c

docase

casej>0

x1=(-b+sqrt(j))/(2*a)

x2=(-b-sqrt(j))/(2*a)

?

'x1=',x1

?

'x2=',x2

casej=0

x=(-b)/(2*a)

?

'x=',x

otherwise

?

'存在两个不等虚根'

endcase

retu

28.输入任意一个五位数,前后对应位置上的数据进行交换重新排列(例:

25984→48952)

clea

inpu'请输入一个五位数:

'tob

dimea[5]

a[5]=int[b/10000]

i=int[b/1000]

a[4]=mod(i,10)

j=int[b/100]

a[3]=mod[j,10]

a[1]=mod[b,10]

d=(b-a[1])/10

a[2]=mod(d,10)

?

space

(2)

fork=1to5

?

?

str(a[k],1)

endfor

retu

29.找出一个3x3矩阵的"鞍点",即该位置上的元素在该行上最大,在该列上最小(也有可能没有鞍点)

clea

dimea(3,3)

form=1to3

forn=1to3

inpu'请输入矩阵值='toa[m,n]

endfor

endfor

fori=1to3

max=a[i,1]

t=i

k=1

forj=1to3

ifmax=

max=a[i,j]

t=i

k=j

endif

endfor

min=a[1,k]

forz=1to3

ifmin>=a[z,k]

min=a[z,k]

t1=z

endi

endf

ift1=l

?

'存在鞍点=',a[t,k]

endif

endfor

30.求S(n)=a+aa+aaa+...+aaa....aaa(其中有n个a)之值,a是一个数字,n和a由键盘键入(例如:

2+22+222+22222+22222,此时n=5)

clea

input'请输入a='toa

input'请输入n='ton

s=0

m=0

fori=1ton

m=m+a*10^(i-1)

s=s+m

endfor

?

's=',s

retu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1