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