关于VFP的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 10:44:09
谁能给我解释一下下面这个的意思啊?分数不是问题,只要讲解的明白!
set talk off
clear
input "x=" to x
s=str(x,5)+"="
for i=2 to x
if mod(x,i)=0
s=s+str(i,3)+"*"
x=int(x/i)
i=i-1
endif
endfor
?left(s,len(s)-1)
set talk on

set talk off <--关闭对话模式
clear <--清空界面
input "x=" to x <--显示"x="并要求用户输入一个数赋值给变量x
s=str(x,5)+"=" <--将数字x转换为5位的字符串(不足5位的前面补空格)并加上"="后赋值给变量s
for i=2 to x <--循环开始,假设x=10则循环9次
if mod(x,i)=0 <--如果x能被i整除
s=s+str(i,3)+"*" <--将将数字i转换为3位的字符串(不足5位的前面补空格)并加上"*"后,追加到变量s后
x=int(x/i) <--求商
i=i-1 <--这句话会造成死循环
endif
endfor <--循环结束
?left(s,len(s)-1) <--显示字符串s去掉最后一个字符
set talk on <--返回对话模式