一、程序设计'【程序设计】1.'题目:编写函数fun,函数的功能是:计算两个正整数的最大公约数,并显示。如:'两个数为15、20,结果显示5'要求使用Do...Loop语句来实现。答案:Dor=mModnIfr=0ThenExitDom=nn=rLoopfun=n2.'题目:判断一个数是否是素数。答案:----------------------DimiAsIntegerPrime=TrueFori=2ToInt(Sqr(m))IfmModi=0ThenPrime=False:ExitForNexti----------------------3,'题目:(事件)单击窗体。'(响应)求10!的值,并将结果输出到窗体上。将结果存入变量SUM中。答案:----------------------DimiAsIntegersum=1Fori=1To10sum=sum*iNextPrintsum4,'题目:(事件)单击窗体。(响应)求1+2+3+……+100的值,并把结果输出在窗体上。结果存入变量SUM中。答案:----------------------DimiAsIntegerFori=1To100sum=sum+iNextPrintsum----------------------5,'题目:编写函数fun,函数的功能是:求1到m之间的偶数之积。答案:----------------------DimyAsDoubley=1DimiAsIntegerFori=1TomIfiMod2=0Theny=y*iEndIfNextfun=y----------------------6,'题目:编写函数fun,函数的功能是:根据一个百分制成绩mark(整数),显示对应五级制的评定。条件如下:mark大于等于90显示优秀mark小于90且大于等于80显示良好mark小于80且大于等于70显示中等mark小于70且大于等于60显示及格mark小于60显示不及格要求使用Select语句来实现。答案:SelectCasemarkCaseIs=90fun=优秀CaseIs=80fun=良好CaseIs=70fun=中等CaseIs=60fun=及格CaseElsefun=不及格EndSelect7,'题目:(事件)双击窗体(响应)求100以内奇数的和,并将结果输出在窗体上。将结果存入变量SUM中答案:----------------------DimiAsIntegerFori=1To100IfiMod2=1Thensum=sum+iEndIfNextPrintsum----------------------8,'题目:(事件)单击窗体。'(响应)输100-200之间所有素数,并将这些数求和,求和结果存入所给变量SUM中。答案:------------------------------------Fori=100To200Forj=2ToSqr(i)IfiModj=0ThenExitForNextIfjInt(Sqr(i))ThenSum=Sum+iEndIfNextPrintSum------------------------------------9,'题目:将一个十进制整数m转换成→r(2-16)进制字符串。方法:将m不断除r取余数,直到商为零,以反序得到结果。下面写出一转换函数,参数idec为十进制数,ibase为要转换成数的基(如二进制的基是2,八进制的基是8等),函数输出结果是字符串chr函数:将ascii码转换为对应字母。答案:----------------------DimstrDecR$,iDecR%strDecR=DoWhileidec0iDecR=idecModibaseIfiDecR=10ThenstrDecR=Chr$(65+iDecR-10)&strDecRElsestrDecR=iDecR&strDecREndIfidec=idec\ibaseLoopTrDec=strDecR----------------------10,'题目:(事件)单击按钮。(响应)随机产生N个两位正整数(N由输入对话框输入,且N0),求出其中的最大数和最小数,并在标签框Label1上显示最大数与最小数的差。答案:--------------------------------x=InputBox(请输入x)n=1t=xs=xDoUntilAbs(t)0.00000001n=n+1t=t*(-1)/ns=s+tLoopLabel1.Caption=s=&s--------------------------------'题目:(事件)单击窗体。'(响应)已知s=1+1/3!+1/5!+1/7!+1/9!,请将s结果值输出到窗体上。使用dowhile...loop语句完成程序答案:----------------------DimiAsIntegeri=1p=1DoWhilei=9p=p*iIfiMod2=1Thens=s+1/pEndIfi=i+1LoopPrintssum=s----------------------'题目:(事件)单击窗体。'(响应)求从100到1000之间所有是3的倍数的数之和,当和大于3000时,停止计算并输出和。请将结果输出到窗体上,并存入所给变量SUM中。使用for...next语句完成程序答案:----------------------DimiAsIntegersum=0fori=100to1000ifimod3=0thensum=sum+iifsum3000thenexitforendifendifi=i+1nextPrintsum----------------------'题目:(事件)单击窗体。'(响应)求1-100中为5或7的倍数的和。请将结果输出到窗体上,并存入所给变量SUM中。使用while...wend语句完成程序答案:----------------------DimiAsIntegeri=1Whilei=100IfiMod5=0OriMod7=0ThenSum=Sum+iEndIfi=i+1WendPrintSum----------------------'题目:(事件)单击窗体。'(响应)求出100以内所有素数的和,并将结果输出到窗体上,并存入所给变量SUM中。答案:----------------------DimiAsIntegerDimjAsIntegerDimkAsIntegerDimbAsBooleanb=FalseFori=2To100b=Falsej=CInt(Sqr(i))Fork=2TojIfiModk=0Thenb=TrueEndIfNextIfb=FalseThensum=sum+iEndIfNextPrintsum----------------------'题目:(事件)单击窗体。'(响应)求1!+2!+3!+……+10!的值,并在窗体上输出。结果存入变量L中。答案:----------------------DimiAsIntegerDimsAsLongDimjAsIntegers=1Fori=1To10s=s*il=l+sNextPrintStr(l)----------------------'题目:编写函数fun,函数的功能是:求一个四位数的各位数字的立方和答案:----------------------DimdAsInteger,kAsInteger,sAsIntegerWhilen0d=nMod10s=s+d*d*dn=n/10Wendfun=s----------------------第46题(1.0分)题号:490'-------------------------------------------------'【程序设计】'-------------------------------------------------'题目:(事件)单击窗体。'(响应)已知sum=1-1/4+1/9-1/16+1/25...-1/100,'请将sum结果值输出到窗体上。'使用for...next语句完成程序'-------------------------------------------------答案:----------------------DimiAsIntegerfori=1to10sum=sum+(-1)^(i-1)/(i*i)nextPrintsum----------------------第48题(1.0分)题号:478'-------------------------------------------------'【程序设计】'-------------------------------------------------'题目:编写函数fun,其功能是:能计算从1开始到n的'自然数中偶数的平方的和。'-------------------------------------------------答案:----------------------DimsumAsInteger,iAsIntegersum=0Fori=2TonStep2sum=sum+i*iNextfun=sum----------------------第49题(1.0分)题号:208'-------------------------------------------------'【程序设计】'-------------------------------------------------'题目:请用Select语句编程计算打折后的金额?'折扣方法如下:'购物300以下,无优惠(使用MsgBox显示“无优惠”);'购物300以上,95折;'购物500以上,9折;'购物1000以上,85折;'购物5000以上,8折?'答案:SelectCasenCaseIs5000n=n*0.8CaseIs1000n=n*0.85CaseIs500n=n*0.9CaseIs300n=n*0.95CaseElseMsgBox无优惠EndSelect'题目:将一张面值为100元的人民币等值换成100张5元、1元和0.5元的零钞,要求每种零钞不少于1张,'问有哪几种组合?将组合数存入变量OUT中。答案:----------------------DimnAsIntegerDimi%,j%,k%Print5?1?0.5?Fori=1To20Forj=1To100-ik=100-i-jIf5#*i+1#*j+0.5*k=100ThenPrinti,j,kn=n+1EndIfNextjNextiout=n----------------------'题目:(事件)单击窗体。'(响应)我国现有人口为13亿,设年增长率为1%,计算多少年后增加到20亿。并将结果输出在窗体上。将结果存入变量year中。使用dowhile...loop语句完成程序。答案:----------------------dimpasdoubledimrassingledimnasintegerr=0.01p=p+p*rn=n+1loopprintn=,nyear=n----------------------'题目:应用选择法对数组A按升序排列基本思想:1)对有n个数的序列(存放在数组a(n)中),从中选出最小的数,与第1个数交换位置;2)除第1个数外,其余n-1个数中选最小的数,与第2个数交换位置;3)依次类推,选择了n-1次后,这个数列已按升序排列。答案:----------------------Dimi,j,imin,tempAsIntegerFori=1Ton-1imin=iForj=i+1TonIfa(imin)a(j)Thenimin=jNextjtemp=a(i)a(i)=a(imin)a(imin)=tempNexti---