求解一道VFP编程题,谢谢

2025-04-15 08:05:12
推荐回答(3个)
回答1:

sj=50 &&为“循环”和“定义数组”设初值
sz=1 &&为累计输入的数组设初值
DIMENSION suzu(sj) &&定义数组"suzu"为50组,可根据需要设置
DO WHILE sj<>0 &&当“sj”等于 0 时终止循环
INPUT "请输入数据 " TO srsj
IF srsj<>0
suzu(sz)=srsj
sz=sz+1
ELSE
sj=0 &&如果键盘输入值“srsj”等于 0 侧循环值“sj”=0
ENDIF

ENDDO
p=0 &&为统计正数组设初值
n=0 &&为统计负数组设初值
FOR i=1 TO sz-1

IF suzu(i)>=0
p=p+1
ELSE
n=n+1
ENDIF
ENDFOR
? "共输入"+str(i-1)+" 组数组"+"。 其中:正数组为"+str(p)+"个 ;负数组为"+str(n)+" 个"

回答2:

n=1:X=0:Y=0
do while n<>0
input "输入数据" to n
if n>0 then X=X+1
if N<0 then Y=Y+1
end do
?"正数共:“;X;“个”
?"负数共:“;Y;“个”

回答3:

zs=0   &&正数个数赋初值
hs=0   &&负数个数赋初值
DIMENSION sr(zs+hs+1)   &&为记录键盘录入,定义数组
DO WHILE .t.
    input "请输入第"+ALLTRIM(STR(zs+hs+1))+"个数据(输入“0”值时结束)并按回车键:" to sr(zs+hs+1)
    DO CASE 
    CASE  sr(zs+hs+1)>0 
        zs=zs+1
    CASE  sr(zs+hs+1)<0 
        hs=hs+1
    CASE  sr(zs+hs+1)=0 
        exit
    ENDCASE
    DIMENSION sr(zs+hs+1)   &&为记录键盘录入,重定义数组,加大下标
ENDDO
? "共输入  "+ALLTRIM(str(zs+hs))+"  组数组"+"。其中:正数组为  "+ALLTRIM(str(zs))+"  个;负数组为  "+ALLTRIM(str(hs))+"  个"

&&如有必要,可以将最末两条命令交换一下位置


●请放心使用,有问题的话请追问

●满意请及时采纳,谢谢,采纳后你将获得5财富值。

●你的采纳将是我继续努力帮助他人的最强动力!