发布网友 发布时间:2024-10-22 09:16
共3个回答
热心网友 时间:2024-10-22 10:51
*1.假设你的数组名字为A
STORE 0 TO S1,S2,S3
FOR I=1 TO 5
DO CASE
CASE A(I)>1
S1=S1+1
CASE A(I)=1
S2=S2+1
CASE A(I)<1
S3=S3+1
ENDCASE
ENDFOR
?"大于1的个数:",S1
?"等于1的个数:",S2
?"小于1的个数:",S3
2.
CLEAR
FOR i=1 TO 5
INPUT "请输入一个数:" TO X
IF i==1
nMax = X
ELSE
IF X> nMax
nMax = X
ENDIF
ENDIF
ENDFOR
?"您输入的最大值是:",nMax
热心网友 时间:2024-10-22 10:50
程序一:
a=0
b=0
c=0
dimension X(5)
X(1)=2
X(2)=0
X(3)=5
X(4)=1
X(5)=-1
FOR EACH nVar IN X
IF nVar>1
a=a+1
ELSE
IF nVar == 1
b=b+1
ELSE
c=c+1
ENDIF
ENDIF
ENDFOR
?"大于1的个数:",a
?"等于1的个数:",b
?"小于1的个数:",c
程序二:
dimension X(5)
FOR i=1 TO 5
INPUT "请输入一个数:" TO X(i)
IF i==1
nMax = X(i)
ELSE
IF X(i) > nMax
nMax = X(i)
ENDIF
ENDIF
ENDFOR
?"您输入的最大值是:",nMax
热心网友 时间:2024-10-22 10:54
本人是外行,但在 VFP 方面还是能弄出一些像样的东西来的。嘿嘿嘿。。。
注:
一,以下程序,是按软件行业有关规定/约定而编写的,诸如程序的书写格式、变量的命名要求等等,都是正统的;
二,你所要求的那两点,我把它揉进一个程序里了;
三,为了方便你理解,我在非基础的语句末尾加了注解;
四,本程序虽然短小,但它能够启发你,能让你举一反三。
最后,祝你新年进步!
*** Begin
CLOSE ALL
CLEAR ALL
CLEAR
RAND(-1)
nEndNo = 5 &&& 这个数字你可以根据需要改成任何大于等于五的正整数。
cEndNo = ALLTRIM(STR(nEndNo))
nContTimes_00 = 0
nContTimes_01 = 0
nContTimes_02 = 0
?
?"随机产生以下&cEndNo.个数:"
DIMENSION aMyArray(nEndNo)
FOR nLoop_01 = 1 TO nEndNo
nRand_No = INT(RAND() * 10) &&& 产生一个小于十的随机整数
nRand_Flag = INT(RAND() * 10) &&& 产生一个小于十的随机整数,做旗标用
IF MOD(nRand_Flag, 2) = 0 &&& 旗标数为偶时,则将随机数设为负数放入数组中;否则直接将随机数放入数组中。
aMyArray(nLoop_01) = - nRand_No
ELSE
aMyArray(nLoop_01) = nRand_No
ENDIF
??aMyArray(nLoop_01)
DO CASE
CASE aMyArray(nLoop_01) < 1
nContTimes_00 = nContTimes_00 + 1
CASE aMyArray(nLoop_01) < 1
nContTimes_01 = nContTimes_01 + 1
OTHERWISE
nContTimes_02 = nContTimes_02 + 1
ENDCASE
NEXT
cContTimes_00 = ALLTRIM(STR(nContTimes_00))
cContTimes_01 = ALLTRIM(STR(nContTimes_01))
cContTimes_02 = ALLTRIM(STR(nContTimes_02))
?
?"其中小于1的有:&cContTimes_00.个;"
?"其中等于1的有:&cContTimes_01.个;"
?"其中大于1的有:&cContTimes_02.个。"
= ASORT(aMyArray)
cMaxNo = ALLTRIM(STR(aMyArray(nEndNo)))
cMinNo = ALLTRIM(STR(aMyArray(1)))
?
?"随机产生的 &cEndNo. 个数中,&cMaxNo. 最大;&cMinNo. 最小。"
RETURN
*** End