二级考试程序题目.doc_第1页
二级考试程序题目.doc_第2页
二级考试程序题目.doc_第3页
二级考试程序题目.doc_第4页
二级考试程序题目.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题号试题程序参考答案1 * 某单位规定电费收费标准为:60度电以内每度收0.33元,60到100度范围内的电每度收费0.66元,超过100度的,每度收费1.65元。填空完成程序。(保留小数两位)SET TALk OFFCLEAS=2F1=1F2=1I=2DO WHILE I77777720 _ ENDIFENDDO? SRETU4790016003 * 求100999的水仙花数(一个数的值正好为自身各位立方之和,如:153=13+53+33)的个数。填空完成程序。(保留整数位) set talk offclean=0for i=100 to 999 a=int(i/100) b=int(i-a*100)/10) c=mod(i,10) if a3+b3+c*3=_ n=_ endifendfor?nReturn 44 * 求100到14000以内能被4和9整除的整数的和,填空完成程序。(保留整数位) SET TALK OFFCLEAI=100S=0DO WHILE I2000时的最小和数S。填空完成程序。(保留整数位) SET TALK OFFCLEASTORE 0 TO S,IDO WHILE .T.I=I+1IF INT(I/23)=I/23_ELSE_ENDIFIF S2000EXITENDIFENDDO? SSET TALK ON 20937 * 完成程序填空,求S=14!+15!+16!+17!+18!。(保留整数位) SET TALK OFFCLEARS=0I=14DO WHILE I=18 _ J=1 DO WHILE J=I T=T*J J=J+1 ENDDO S=_ I=I+1ENDDO?SSET TALK ONR67803787763712008 * 下列程序的功能是求6到280之间的所有偶数的平方和并显示结果。请填空来实现上述功能。(保留整数位) SET TALK OFFCLEARSum=0x=6DO WHILE x=280 Sum=_ENDDO?Sum36979409 * 下列程序的功能是求i,其中i是一个四位整数,它的九倍恰好是其反序数(反序数就是将整数的数字倒过来形成的数,例如1234的反序数为4321)。填空完成该程序。(保留整数位) SET TALK OFFI=1002DO WHILE I=1111N = IA = MOD(N,10)*1000N = INT(N/10)B = MOD(N,10) * 100N = INT(N/10)C =_D = INT(N/10)IF A + B+ C + D = I * 9?IENDIFENDDOSET TALK ON 108910 * 下列程序解百马百瓦问题。大马、小马和马驹共100匹,大马一驮三,小马一驮二,马驹二驮一,共100片瓦一次驮完,三种马都驮,共有多少种组合,填空完成程序。(保留整数位) SET TALK OFFCLEAS=0DM=1DO WHILE DM=100/3XM=1DOWHILE XM=(100-DM*3)/2MJ=100-DM-XMIF DM*3+XM*2+_=100S=_ENDIFXM=XM+1ENDDODM=DM+1ENDDO? SRETU 611 * 下列程序求能被3整除且有一位数字为5的三位数的个数,填空完成程序。(保留整数位) SET TALk OFFCLEAS=0X=100DO WHILE X999IF MOD(_)=0A=INT(X/100)B=INT(X/10)-A*10C=X-A*100-B*10IF A=5.OR.B=5.OR.C=5S=_ENDIFENDIFX=X+1ENDDO? S 8512 * 下列程序求三位数中,个位数字与十位数字之和除以10所得的余数是百位数字的偶数的个数,填空完成程序。(保留整数位) SET TALK OFFCLEAS=0X=100DO WHILE X=999A=INT(X/100)B=INT(X/10)-A*10C=X-A*100-B*10IF MOD(X,2)=0.AND.MOD(C+B,10)=_S=_ENDIFX=X+1ENDDO? S 4513 * 下面程序的功能是判断2123年是否为闰年。若是闰年,输出“YES”,否则输出“NO”。请根据功能填空。 SET TALK OFFCLEARANS=Y=2123DO SUB WITH Y, ANS?ANSSET TALK ONRETURNPROCEDURE SUBPARAMETER _ANS=NOIF Y % 4=0 .AND. (Y % 1000 .OR. Y % 400=0) ANS=YESENDIFRETURN NO14 * 下面程序求在1,2,3,4,1000这1000个数中的任意选两个不同的数,要求它们的和能被2整除的数的总对数(注意:像3+5和5+3被认为是同一对数)。请完成程序填空。(保留整数位) SET TALK OFFCLEARN=0I=1DO WHILE I=1000 J=1 DO WHILE JI IF MOD(I+J,2)=0 N=_ ENDIF J=J+1 ENDDO _ENDDO?NSET TALK ON 24950015 * 下面程序是求2203年各月份中的15日有几天是星期二。填空完成程序。(保留整数位) SET TALK OFFS=1M=1N=0DO WHILE M=_ S=LTRIM(STR(M)+/15/2003 IF DOW(CTOD(S)=3 N=_ ENDI M=M+1ENDD?N 316 * 下面的程序是求100到1500之间的质数(质数是除1和本身以外,不能被其它数整除的数)的个数。填空完成程序。(保留整数位) set talk offclears=0for n=100 to 1500flag=0for i=2 to sqrt(n) if n/i=int(n/i) flag=1 endifendforif flag=_s=_endifendfor ?S 21417 * 已知S1=1,S2=1+2,S3=1+2+3,Sn=1+2+3+n,求S1+S2+S120的和,填空完成程序。(保留整数位) SET TALK OFFCLEAN=1S=0DO WHILE N=120I=0SUB=0DO WHILE I=NSUB=_I=I+1ENDDOS=_N=N+1ENDD?S 29524018* 求100999的水仙花数(一个数的值正好为自身各位立方之和,如:153=13+53+33)的个数。填空完成程序。(保留整数位)set talk offclean=0for i=100 to 999 a=int(i/100) b=int(i-a*100)/10) c=mod(i,10) if a3+b3+c*3=_ n=_ endifendfor?n 419* 求解下列方程,请填空实现这一功能。(保留整数位)* X+Y=7* X2+2Y2=41 (注:X、Y后面的2为平方)*程序:SET TALK OFFx=0DO WHILE x=10000loopendifendfor? n-1set talk on235求出45678的所有非平凡因子(即除1和它本身以外的约数)中奇数的个数。set talk offcleara=45678n=0for b=3 to a step 2 if mod(b,a)=0 n=n+1 endifendfor? bset talk on71. 求10,1000内所有能被被7和9中至少一个数整除的整数之个数。* skgc1.prg set talk offclears=0 &s=0改为n=0for x=10 to 1000 if mod(x,7)=0 and mod(x,9)=0 & and改为or n=n+x & n=n+x改为n=n+1 endifendfor? x & x改为nset talk onreturn & 结果为: 2362. 求10,1000内所有能同时被7和9整除的整数之和。set talk offclears=0 for x=10 to 1000 if mod(x,7)=0 and mod(x,9)=0 s=x & s=x改为s=s+x endifendfor? x & x改为sset talk onreturn & 结果为:75603.求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。 * * skgc7.prgset talk offclears=0for n=1 to 100s=s+1/n & s=(s+1)/n 改为 s=s+1/nif s=3.5exit & loop 改为 exitendifendfor? n-1set talk onreturn & 结果为:184. 求100以内最大的自然数n,使得从1开始的连续n个自然数的平方和小于5000。set talk offclears=0for n=1 to 100s=s+n*2 & 改为s=s+n*2if s=5000exitendifendfor? n & 改为 ? n-1set talk onreturn& 结果为:2410 求出50以内最小的自然数n,使得从101开始的连续n个奇数之和大于3000。set talk offclears=0for n=1 to 50 a=101+2*n & a=101+2*n 改为 s=s+99+2*n s=s+a & 去掉 s=s+a if s3000 exit endifendfor? s & ? s 改为 ? nset talk onretur& 结果为:2511. 求出100以内使得算式1*2+2*3+n*(n+1)的值小于5000的最大的自然数n。set talk offclears=0for n=1 to 100 a=n*(n+1) s=s+a if s5000 & s=5000 exit endifendfor? n & ? n 改为 ? n-1set talk onreturn& 结果为:2312. 求出100以内使得算式1+(1+2)+(1+2+n)的值小于1000的最大的自然数n。set talk offclears=0t=0for n=1 to 100 s=s+n t=t+s if t1000 & t=1000 exit endifendfor? n & ? n 改为 ? n-1set talk onreturn& 结果为:1713 某国在2000年时人口总数为1亿,若以每年3%的速度递增,试求出至少要到哪一年该国人口总数才会翻一翻。set talk offclears=1for n=2001 to 2100 s=s*1.03 if s=2 & s=2 改为 s2 loop & loop 改为 exit endifendfor? nset talk onreturn& 结果为:202414. 设等比数列:1,2,4,8,。求使得此数列的前n项之和大于100000的最小的自然数n。set talk offcleara=1s=1 & s=1 改为 s=0 for n=1 to 100 s=s+a & 在 s=s+a 前加 a=2(n-1) if s100000 exit endif a=2+a & 去掉 a=2+a 该句endfor? nset talk onreturn& 结果为:1715 求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。set talk offcleara=45678n=0for b=3 to a step 2 if mod(b,a)=0 & mod(b,a) 改为 mod(a,b) n=n+1 endifendfor? b & ? b 改为 ?nset talk onreturn& 结果为:716. 求出203267的所有真因子(即小于它本身的约数)中最大的因子数。set talk offcleara=203267n=0for b=1 to a if mod(a,b)=0 & mod(b,a)=0 改为 mod(a,b)=0 & 加 if b=a & 加 exit & 加 endif max=a & max=a 改为 max=b endifendfor? a & ?a 改为 ? maxset talk onreturn& 结果为:655717. 求出20677和42067的最大公约数。set talk offcleara=20677b=42067for d=1 to a if mod(a,d)=0 and mod(b,d)=0 max=d & max=b 改为 max=d endifendfor? max & ?d 改为 ? maxset talk onreturn& 结果为:71318. 求559399的所有非平凡因子(即除1和它本身以外的约数)中最小的。set talk offcleara=559399for n=2 to a if mod(a,n)=0 loop & loop 改为 exit endifendforreturn& 结果为:7319 求9269和8671的最小公倍数。set talk offcleara=9269b=8671for k=a to a*b step a if mod(k,b)0 loop endif & 加 exitendfor? kset talk onreturn& 结果为:266880120. 已知数列:1,2,4,7,11,16,,其规律是相邻两项之差依次是1,2,3,4,5,。试求出此数列中大于5000的最小的项。set talk offcleara=1for n=0 to 1000 a=a+n if a5000 loop & loop 改为 exit endifendfor? n & ?n 改为 ?aset talk onreturn& 结果为:505121. 求出100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于88888。set talk offclears=0for n=1 to 100 a=n*3 & a=n*3 改为 a=n3 s=s+a if s88888 exit endif endfor? a & ?a 改为 ?nset talk onreturn& 结果为:2422. 设一数列f(n):f(1)=1,当n1时f(n)=1/(f(n-1)+1)。试求出此数列的前20项中大于0.618的项数。set talk offclearf=1.00000000n=0for k=2 to 20 f=1/f+1 & f=1/f+1 改为 f=1/(f+1) if f0.618 n=n+1 endifendfor? N & ?n 改为 ? n+1set talk onreturn & 答案:1523 设有用26个字母表示的26个表达式:a=1,b=1/(a+1),c=1/(b+2),z=1/(y+25)。试求出这26个字母中其值小于0.1的字母个数。set talk offclearlett=1n=0for k=1 to 26 & 26 改为 25 lett=1/(lett+k) if lett54321 n=n+1 endif f1=f2 f2=f3 f3=f1 & f3=f1 改为 f3=fendfor? nset talk onreturn & 答案:525 已知一个由分数组成的数列:1/2,3/5,8/13,21/34,其特点是:从其中第2个数起,每个分数的分子都是前一分数的分子分母之和。而其分母都是其分子与前一分数的分之和。试求出此数列的前25项中其值大于0.618的项数。set talk offclearf1=1f2=2n=0for k=1 to 25 f=f1/f2 if f0.618 n=n+1 endif f1=f2 & f1=f2 改为 f1=f1+f2 f2=f1 & f2=f1 改为 f2=f1+f2endfor? nset talk onreturn & 答案:2026 回文指的是正读和反读都一样的一串字符,如121、1221。试求出1421,4112内所有回文数的和。set talk offclears=0for x=1421 to 4112 a=x/1000 & a=x/1000 改为 a=int(x/1000) b=int(x-a*1000)/100) c=int(x-a*1000-b*100)/10) d=x-a*1000-b*100-c*10 if a=d and b=c s=s*x & s=s*x 改为 s=s+x endifendfor? sset talk onreturn & 答案:7425027. 若一个自然数恰好等于某个整数的平方,则称此数为完全平方数。如144是完全平方数,因为它等于12的平方。求1000,3000内所有完全平方数的和。set talk offclears=0for x=1000 to 3000 y=sqrt(x) & y=sqrt(x) 改为 y=int(sqrt(x) if x=y*y s=s+x endifendfor? x & x 改为 sset talk onreturn & 答案:4353928. 若一个自然数恰好是它的平方的末后几位数,则称此数为自同构数。如5和76都是自同构数,因为它们的平方分别是25和5776。求2,99999内所有自同构数之和。(提示:若x是m位同构数,则x的平方除以10的m次方的余数就是x)set talk offclears=0for x=2 to 99999 y=x*x m=len(ltrim(str(x) if mod(y,10*m)=x s=s+x endifendfor? yset talk onreturn & 答案:10111429. 求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较大的一个数。(提示:设A0 r=mod(a,p)if r=1n=1endif a=int(a/p) enddo? Nset talk onreturn & 答案:1332. 求出将十进制整数99887766554等值转换为十六进制形式表示后其中字母C的个数。(提示:模拟人工计算的“16除取余”法)set talk offcleara=99887766554p=16n=0do while a=0r=mod(a,p)if r=11n=n+rendifa=int(a/p)enddo? nset talk onreturn & 答案:233 已知数列f(n):f(1)=1,f(2)=1,当n2时f(n)=f(n-2)+f(n-1)。试求此数列的第15项至第25项共11项之和。set talk offcleardimension f(25)f(1)=1f(2)=1s=0for n=3 to 25f(n)=f(n-2)+f(n-1)if n=11s=f(n)endifendfor? sset talk onreturn& 答案:19543134 求出将十进制小数0.987654321等值转换为二进制形式表示后前25位小数中数字0的个数。(提示:使用“2乘取整”法)set talk offclearx=0.987654321n=0for k=1 to 25x=2*xz=int(x)x=x-zif z=1n=n+zendifendfor? nset talk onreturn & 答案: 835 对自然数A、B、C,若ABC且A*A+B*B=C*C,则称A,B,C为一组勾股弦数,其中A、B、C分别称为勾、股、弦。试求出弦为25000的勾股弦数组的个数。set talk offclearc=25000n=1for a=1 to c-1b=int(sqrt(c*c-a*a)if a*a+b*b=c*c and abn=n+aendifendfor? nset talk onreturn & 答案: 536 求方程3x-7y=1在条件|x|100且|y|40下的整数解的个数。set talk offclearn=0for x=-99 to 99y=int(3*x-1)/7)if 3*x-7*y=1 or abs(y)40n=n+xendifendfor? nset talk onreturn & 答案: 2637、已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求300,1000之间能被其因子数目整除的数的总和。set talk offcleasm=0for n=300 to 1000s=0for i=1 to n if mod(n,i)=0s=s+1endifendforif mod(n,s)=0sm=sm+nendifendfor? smset talk onreturn 答案:36550296、找满足以下条件: X2+Y2+Z2=412 且X+Y+Z之值最大的三个正整数X,Y,Z, 求X+Y+Z之值.set talk offcleamax=0for x=0 to 41for y=0 to 41for z=0 to 41if x2+y2+z2=41*41if maxx+y+zmax=x+y+zendifendifendforendforendfor? maxset talk onreturn 答案:7138、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后其中二分的硬币恰有20枚的方案共有多少种?set talk offclean=0for yi=1 to 60for wu=1 to 20er=20if yi+er*2+wu*5=100n=n+1endifendforendfor? nset talk onreturn 答案:1139、设某四位数的各位数字的平方和等于198,问满足这种条件的最大数和最小数之和是多少?set talk offcleamin1=9999max1=1000for x=1000 to 9999a=int(x/1000)b=int(x-a*1000)/100) c=int(x-b*100-a*1000)/10)d=mod(x,10)if a*a+b*b+c*c+d*d=198if max1xmin1=xendifendifendfor? max1+min1set talk onreturn 答案:1274940、一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。如13,试求两位数中最大的绝对素数与最小绝对素数之差。set talk offcleamin=100max=0for i=10 to 99j=mod(i,10)*10+int(i/10)f1=1for k=2 to i-1if mod(i,k)=0f1=0endifendforf2=1for k=2 to j-1if mod(j,k)=0f2=0endifendforif f1=1 and f2=1if minimin=iendifmax=iendifendfor? max-minReturn 答案:8641、水仙花数是指这样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论