【文章內(nèi)容簡(jiǎn)介】
程序 14:編寫程序比較從鍵盤輸入的若干個(gè)數(shù)的大小并輸出其中的最大數(shù)和最小數(shù) SET TALK OFF CLEAR INPUT M= TO M STORE M TO D,X DO WHILE .T. INPUT N= TO N 9 IF DN D=N ENDIF IF XN X=N ENDIF WAIT 是否還要繼續(xù)輸入? Y/N: TO YN IF UPPER(YN)!=Y EXIT ENDIF ENDDO ?最大數(shù)是: ,D ?最小數(shù)是: ,X SET TALK ON 程序 15:將一個(gè)數(shù)值型數(shù)據(jù)(可以有小數(shù))中位值最大的和最小的數(shù)碼輸出(如 ,最大數(shù)碼為 9,最小數(shù)碼為 1) SET TALK OFF CLEAR INPUT M= TO M DO WHILE INT(M)M M=M*10 ENDDO STORE MOD(M,10) TO D,X M=INT(M/10) DO WHILE M0 N=MOD(M,10) IF DN D=N ENDIF IF XN X=N ENDIF M=INT(M/10) ENDDO ?最大數(shù)碼為: +ALLTRIM(STR(D,1)) ?最小數(shù)碼為: +ALLTRIM(STR(X,1)) SET TALK ON 程序 16:從鍵盤輸入 N個(gè)無序數(shù)( N由鍵盤輸入確定),去掉 一個(gè)最大數(shù),去掉一個(gè)最小數(shù),然后求平均值 SET TALK OFF CLEAR INPUT N= TO N INPUT A= TO A STORE A TO D,X S=A P=N2 FOR I=2 TO N INPUT B= TO B S=S+B IF DB D=B ENDIF IF XB X=B ENDIF ENDFOR R=SDX ?平均值 =+ALLTRIM(STR(R/P,19,2)) 10 SET TALK ON 程序 17:對(duì)任意輸入的 20個(gè)數(shù),按從小到大進(jìn)行排列 SET TALK OFF CLEAR DIME A(20) FOR I=1 TO 20 INPUT A(+ALLTRIM(STR(I,2))+)= TO A(I) ENDFOR FOR I=1 TO 19 FOR J=I+1 TO 20 IF A(I)A(J) T=A(I) A(I)=A(J) A(J)=T ENDIF ENDFOR ENDFOR LIST MEMO LIKE A SET TALK ON 程序 18:求 2 至 100 中質(zhì)數(shù)的個(gè)數(shù)及其和(質(zhì)數(shù):只能被 1 和本身整除的數(shù)) SET TALK OFF CLEAR T=0 S=0 FOR M=2 TO 100 FOR I=2 TO M1 IF INT(M/I)=M/I EXIT ENDIF ENDFOR IF I=M S=S+M T=T+1 ?M ENDIF ENDFOR ?S=,S ?質(zhì)數(shù)的個(gè)數(shù)為: ,T SET TALK ON 程序 19:求 100 至 999 之間水仙花數(shù)(指一個(gè)三位數(shù),其各位數(shù)字立方之和等于該數(shù)本身。如: 153=1^3+5^3+3^3) SET TALK OFF CLEAR FOR M=100 TO 999 X=M A=MOD(X,10) X=INT(X/10) B=MOD(X,10) X=INT(X/10) C=X IF M=C^3+B^3+A^3 ?STR(M,4)+是水仙花數(shù)。 ENDIF ENDFOR SET TALK ON 程序 20:求 2 至 1000之間完數(shù)的個(gè)數(shù)(完數(shù):一個(gè)數(shù)如果恰好等于它的因子之和,因子不包括本身且不重復(fù)。如: 6=1+2+3, 81+2+4, 11 所以 6是完數(shù), 8不是完數(shù)) SET TALK OFF CLEAR S=0 FOR M=2 TO 1000 T=0 FOR I=1 TO M1 IF INT(M/I)=M/I T=T+I ENDIF ENDFOR IF M=T S=S+1 ?ALLTRIM(STR(M,4))+是完數(shù) ENDIF ENDFOR ?S=,S SET TALK ON 程序 21:求 1 至 1000之間的同構(gòu)數(shù)(同構(gòu)數(shù):若 A是同構(gòu)數(shù),則 A出現(xiàn)在A 的平方數(shù)右邊。如 5*5=25, 5 出現(xiàn)在 25 的右邊, 3*3=9, 3 不出現(xiàn)在 9的右邊,所以 5是同構(gòu)數(shù), 3不是同構(gòu)數(shù)。) SET TALK OFF CLEAR FOR X=1 TO 1000 Y=X^2 L=LEN(ALLTRIM(STR(X,19))) IF ALLTRIM(STR(X,19))=; RIGHT(ALLTRIM(STR(Y,19)),L) ?ALLTRIM(STR(X,19))+是同構(gòu)數(shù)。 ENDIF ENDFOR SET TALK ON 二.字符串處理 程序 1:編寫一個(gè)自定義函數(shù),實(shí)現(xiàn)字符串倒置 SET TALK OFF CLEAR ACCEPT 請(qǐng)輸入字符串: TO A CN=CC(A) ?A+經(jīng)倒置后變?yōu)椋?,CN SET TALK ON FUNC CC PARA X C=SPACE(0) L=LEN(X) DO WHILE L0 Q=SUBSTR(X,L,1) C=C+Q L=L1 ENDDO RETURN C ENDFUNC 程序 2:編寫一個(gè)自定義函數(shù),實(shí)現(xiàn)將一串小寫字符串 轉(zhuǎn)換為大寫字符串 SET TALK OFF CLEAR ACCEPT 請(qǐng)輸入小寫字符串: TO C CN=ZH(C) ?C+經(jīng)轉(zhuǎn)換后為: +CN 12 SET TALK ON FUNC ZH PARA X S=UPPER(X) RETURN S ENDFUNC 程序 3:編寫一個(gè)自定義函數(shù),實(shí)現(xiàn)將鍵盤輸入的數(shù)字金額轉(zhuǎn)換為中文大寫金額 SET TALK OFF CLEAR INPUT 請(qǐng)輸入數(shù)字金額: TO A CN=CASH(A) ?ALLTRIM(STR(A,19,4))+經(jīng)轉(zhuǎn)換后為: +CN SET TALK ON FUNC CASH PARA X C1=零壹貳叁肆伍陸柒捌玖 C2=分角元拾佰仟萬拾佰仟億 M=ROUND(X,2) M=M*100 I=0 C=SPACE(0) DO WHILE .T. N=MOD(M,10) P1=SUBSTR(C1,2*N+1,2) P2=SUBSTR(C2,2*I+1,2) C=P1+P2+C I=I+1 M=INT(M/10) IF M=0 EXIT ENDIF ENDDO RETURN C ENDFUNC 程序 4:編寫一個(gè)自定義函數(shù),實(shí)現(xiàn)將任意一個(gè)日期型表達(dá)式轉(zhuǎn)換成中文大寫形式 SET TALK OFF CLEAR INPUT “ 請(qǐng)輸入日期型日期: ” TO RQ ?ZH(RQ) SET TALK ON FUNC ZH PARA X Y=YEAR(X) M=MONTH(X) D=DAY(X) C=○一二三四五六七八九十 S= FOR I=1 TO 4 P=MOD(Y,10) S=SUBSTR(C,2*P+1,2)+S Y=INT(Y/10) ENDFOR S=S+年 13 IF M=10 S=S+SUBSTR(C,2*M+1,2) ELSE S=S+; 十 +SUBSTR(C,2*MOD(M,10)+1,2) ENDIF S=S+月 DO CASE CASE D=10 S=S+SUBSTR(C,2*D+1,2) CASE D=19 S=S+; 十 +SUBSTR(C,2*MOD(D,10)+1,2) OTHERWISE S=S+SUBSTR(C,2*INT(D/10)+1,2); + 十 +IIF(MOD(D,10)=0,; SUBSTR(C,2*MOD(D,10)+1,2)) ENDCASE S=S+日 RETURN S ENDFUNC 三.