就业数据资源平台
当前位置:首页 > Visual FoxPro
全国计算机等级考试二级VFP习题及答案:第七章5

  7、从键盘任意输入N个数,去掉其中最大值和最小值,然后求平均值。


  程序代码:


  SET TALK OFF


  CLEAR


  S=0


  INPUT "N=" TO N


  STORE N TO MAX,MIN


  FOR I=1 TO N


  INPUT "B=" TO B


  S=S+B


  IF MAX

  MAX=B


  ENDIF


  IF MIN>B


  MIN=B


  ENDIF


  ENDFOR


  ?"AVERAGE="+STR((S-MAX-MIN)/(N-2),19,2)


  SET TALK ON


  8、利用参数传递和过程文件,求(M!+N!)/(M-N)!


  程序代码:


  SET TALK OFF


  CLEAR


  SET PROC TO 程序20


  INPUT "M=" TO M


  INPUT "N=" TO N


  STORE 0 TO SM,SN


  DO JC2 WITH M,SM


  DO JC2 WITH N,SN


  DO MC2 WITH M-N,N


  ?"表达式结果为S="+STR((SM+SN)/N,10,2)


  SET PROC TO


  SET TALK ON


  PROC JC2


  PARA X,Y


  I=1


  T=1


  DO WHILE I<=X


  T=T*I


  I=I+1


  ENDDO


  Y=T


  RETURN


  PROC MC2


  PARA Y,X


  I=1


  T=1


  DO WHILE I<=X


  T=T*Y


  I=I+1


  ENDDO


  X=T


  RETURN


  9、编程求1~1000之内的同构数。(同构数:若A是同构数,则A出现在A的平方数的右边。如:5*5=25,5出现在25的右边,3*3=9,3不出现在9的右边,所以5是同构数,而3不是。)


  程序代码:


  SET TALK OFF


  CLEAR


  FOR X=1 TO 1000


  P=X*X


  L=LEN(ALLTRIM(STR(X,19)))


  IF ALLTRIM(STR(X,19))=RIGHT(ALLTRIM(STR(P,19)),L)


  ??X


  ENDIF


  ENDFOR


  SET TALK ON


  10、本程序用于输入一个表名,若表存在则打开,并显示出其各个字段名。


  程序代码:


  SET TALK OFF


  DO WHILE .T.


  ACCEPT '请输入表名:' TO FNAME


  IF .NOT.FILE(FNAME)


  WAIT '此表不存在'


  ELSE


  USE &FNAME


  ZDSM=FCOUNT()


  ? '此表中的字段有:'+STR(ZDSM)+'个'


  FOR I=1 TO ZDSM


  ? STR(I)+' '


  ?? FIELD(I)


  ENDFOR


  ENDIF


  WAIT '是否继续(Y/N)' TO YN


  IF UPPER(YN)='N'


  EXIT


  ENDIF


  ENDDO


  SET TALK ON

就业数据资源平台