1、VF30道程序设计题参考答案1求圆的面积cleainpu 请输入半径=to rif r=0s=pi*r2?s=,selse ?此时半径无意义endifretu2求分段函数的值cleainpu 请输入x=to xdo casecase x0y=2*x+5case x=0y=-xcase x0y=xendcase?y=,yset talk onretu3输入一个成绩判断等级cleainput 请输入成绩=to xif x=0do casecase x60?不及格case x70?及格case x80?中case x100 or x0?成绩无效endifretu4输入多个成绩判断等级cleadime
2、 a6for i=1 to 6inpu请输入成绩:to ai?:,strai,3if ai=0do casecase ai60?不及格case ai70?及格case ai80?中case ai100 or ai=650?姓名,免去贷款endifretu12. 输出图形* * * * * * * * * * * * * * * * * * * * *第一个cleafor t=1 to 4 for i=1 to t ?* endfor ? endfor retu下面是第五个图形cleafor t=4 to 1 step -1 ?space4-t for i=1 to t ?* endfor en
3、dfor retu 下面是第三个图形cleafor t=1 to 4 ?space4-t for i=1 to 2*t-1 ?* endf endf retu13. 判断一个整数是否素数cleainput请输入x= to xfor i=2 to x-1if modx,i=0?x,不是素数exitendifendforIf ix-1?x,是素数endifretu14. 判断十个整数是否素数cleadime a(10)for j=1 to 10 input请输入x= to a(j) ? for i=2 to aj-1 if aj/i=int(aj/i) exit endif endfor if i
4、aj-1 ?aj,是素数 else ?aj,不是素数 endifendforretu15. 找出两个数的大数和小数cleadime a2for i=1 to 2input请输入x= to aiEndfor if a1=a2 ?a1 else ?a2,较大 endif retu16. 找出三个数的最大数和最小数cleainput请输入一个数: to xstore x to max,minfor i=2 to 3input请输入一个数: to xif max=x max=xelsemin=xendifendfor?最大数:,max?最小数:,minretu17. 找出十个数的最大数和最小数clea
5、dime a10for i=1 to 10input请输入x= to aiendforfor j=9 to 1 step -1 for i=1 to j if ai=ai,j+1 t=ai,j ai,j=ai,j+1 ai,j+1=t endif endfor endfor for j=1 to 3 step 2 for i=1 to 1 if ai,j=ai+1,j t=ai,j ai,j=ai+1,j ai+1,j=t endif endfor endfor ?最小值=,a1,1 ?最大值=,a2,3 retu 19. 对三个整数从大到小排序cleadime a3for i=1 to 3i
6、nput请输入x= to aiendforfor j=2 to 1 step -1 for i=1 to j if ai=ai+1 t=ai ai=ai+1 ai+1=t endif endforendforfor i=1 to 3space2 ?ai endf retu20. 对十个整数从大到小排序(用选择法和起泡法两种方法cleadime a10for i=1 to 10input请输入x= to aiendforfor j=9 to 1 step -1 for i=1 to j if ai=ai+1 t=ai ai=ai+1 ai+1=t endif endforendforfor i=
7、1 to 10space2 ?ai endfor retu21. 输出Fibonacci(斐波那契)数列的前十项cleadime a10for i=1 to 10 if i1.and.j0 x1=(-b+sqrt(j)/(2*a) x2=(-b-sqrt(j)/(2*a) ?x1=,x1 ?x2=,x2 case j=0 x=(-b)/(2*a) ?x=,x otherwise ?存在两个不等虚根 endcase retu 28. 输入任意一个五位数,前后对应位置上的数据进行交换重新排列(例:2598448952) cleainpu请输入一个五位数 : to bdime a5 a5=intb/
8、10000 i=intb/1000 a4=mod(i,10) j=intb/100 a3=modj,10 a1=modb,10 d=(b-a1)/10 a2=mod(d,10) ?space(2) for k=1 to 5 ?str(ak,1) endfor retu 29. 找出一个3x3矩阵的鞍点,即该位置上的元素在该行上最大,在该列上最小(也有可能没有鞍点) cleadime a(3,3)for m=1 to 3for n=1 to 3inpu请输入矩阵值=to am,nendforendfor for i=1 to 3 max=ai,1 t=i k=1 for j=1 to 3 if max=az,k min=az,k t1=z endi endf if t1=l ?存在鞍点=,at,k endif endfor 30. 求S(n)=a+aa+aaa+.+aaa.aaa(其中有n个a)之值,a是一个数字,n和a由键盘键入(例如:2+22+222+22222+22222,此时n=5) cleainput请输入a=to ainput请输入n=to ns=0m=0for i=1 to n m=m+a*10(i-1) s=s+mendfor?s=,sretu
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1