VF高手帮忙!!!

来源:百度知道 编辑:UC知道 时间:2024/05/24 05:06:12
求百元买百只鸡的问题.为什么用FOR语句可以实现,用DO WHILE语句却没有结果?
附问题:用100元买100只鸡,母鸡3元一只,公鸡2元一只,小鸡0.5元一只.问有多少种买法?
下面是我分别用FOR 语句和DO WHILE 语句做的结果.请高手指正.
clear
for m=1 to 33
for g=1 to 48
for x=1 to 98
if g+x+m=100 and 3*m+2*g+0.5*x=100
?m,g,x
endif
endfor
endfor
endfor

clear
store 1 to m,g,x
do while m<=33
do while g<=50
do while x<=98
if g+x+m=100 and 3*m+2*g+0.5*x=100
?m,g,x
endif
x=x+1
enddo
g=g+1
enddo
m=m+1
enddo

因为你没有在内循环里面赋初值,修改后的程序如下:

clear
m=1
do while m<=33
g=1
do while g<=50
x=1
do while x<=98
if g+x+m=100 and 3*m+2*g+0.5*x=100
?m,g,x
endif
x=x+1
enddo
g=g+1
enddo
m=m+1
enddo

调试通过,保证正确运行。