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

  3、从键盘输入一个正整数,判断其所含5的个数。(如:输入数值2345105,其中包含5的个数为2)


  程序代码:


  SET TALK OFF


  clear


  INPUT "请输入一个正整数X:" TO X


  S=0


  DO WHILE .T.


  N=MOD(X,10) &&第一次求X的个位数N,第二次求X的十位数N,…


  IF N=5


  S=S+1


  ENDIF


  X=INT(X/10)


  IF X=0


  EXIT


  ENDIF


  ENDDO


  ?"X中5的个数为:",S


  SET TALK ON


  4、从键盘输入20个数,去掉20个数中的最大值和最小值,然后求平均值。


  程序代码:


  SET TALK OFF


  CLEAR


  S=0


  N=1


  STORE 0 TO MAX,MIN


  DO WHILE N<=20


  INPUT "B=" TO B


  S= S+B


  IF MAX

  MAX=B


  ENDIF


  IF MIN>B


  MIN=B


  ENDIF


  N=N+1


  ENDDO


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


  SET TALK ON


  5、求2~1000之间完数的个数。


  (完数:一个数如果恰好等于它的因子之和,因子不包括本身且不能重复。如:6=1+2+3,8<>1+2+4,所以6是完数,8不是完数)


  程序代码:


  SET TALK OFF


  CLEAR


  SN=0


  ?"2~1000之间的完数为:"


  FOR N=2 TO 1000


  M=N


  I=1


  S=0


  DO WHILE I

  IF INT(M/I)=M/I


  S=S+I


  ENDIF


  I=I+1


  ENDDO


  IF N=S


  SN=SN+1


  ??N


  ENDIF


  ENDFOR


  ?" 完数的个数为:",SN


  SET TALK ON


  6、本程序首先对矩阵按行读入数据,并将它转置。


  程序代码:


  SET TALK OFF


  INPUT 'N=' TO N


  DIME A(N,N)


  FOR I=1 TO N


  FOR J=1 TO N


  INPUT 'A('+STR(I,1)+','+STR(J,1)+')=' TO AI,J)


  ENDFOR


  ENDFOR


  FOR I=1 TO N


  FOR J=1 TO I


  T=A(I,J)


  A(I,J)=A(J,I)


  A(J,I)=T


  ENDFOR


  ENDFOR


  SET TALK ON

就业数据资源平台