VFP重要算法.docx
- 文档编号:3525826
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:10
- 大小:15.97KB
VFP重要算法.docx
《VFP重要算法.docx》由会员分享,可在线阅读,更多相关《VFP重要算法.docx(10页珍藏版)》请在冰豆网上搜索。
VFP重要算法
VFP重要算法
数的累加
1、(1+2+…+100)clea
s=0
i=1
dowhilei<=100
s=s+i
i=i+1
enddo
?
"1+2+3+...+100=",s
Return
(for)clea
s=0
fori=1to100
s=s+i
endfor
?
"1+2+3+...+100=",s
return
2、(1+2+…+n)n=thisform.text1.value
s=0
x=1
dowhilex<=n
s=s+x
enddo
thisform.text2.value=s
3、(N!
)p=1
fori=1tothisform.text1.value
p=p*i
endfor
thisform.text2.value=p
4、(1+3+5+…+99)clear
s=0
fori=1to100step2
s=s+i
endfor
?
"100以内奇数之和是:
",s
(or)
settalkoff
s=0
i=1
dowhilei<=100
s=s+i
i=i+2
enddo
?
s
5、(1+2*2+3*3+…n*n)clear
S=0
Fori=1ton
S=s+i*i
Endfor
?
s
6、(1到n的奇数和、偶数和)s1=0
s2=0
i=0
dowhilei<100
i=i+1
ifi/2=int(i/2)
s1=s1+i
else
s2=s2+i
endif
enddo
?
s1
?
s2
7、(100以内能够被X整除的数之和)clear
S=0
Fori=1to100
Ifi%3=0
S=s+i
Endif
Endfor
?
s
(or)s=0
Fori=3to100step3
S=s+i
Endfor
?
s
8、(1+1/2+1/3+…+1/100)clear
s=0
fora=1to5
s=s+1/a
endfor
?
s
9、(水仙花数)settalkoff
clear
fori=100to999
a=int(i/100)
b=int(i/10)%10
c=mod(i,10)
ifi=a**3+b**3+c**3
?
i
endif
endfor
settalkon
return
10、(判断一个数是不是素数)settalkoff
clear
input'输入一个大于2的自然数:
'ton
flag=0
fori=2tosqrt(n)
ifmod(n,i)=0
flag=1
endif
endfor
ifflag=1
?
'不是素数'
else
?
'是素数'
endif
return
11、(1-1/2+1/3-1/4+……+1/99-1/100)settalkoff
clear
s=0
fori=1to100
ifi%2=0
s=s-1/i
else
s=s+1/i
endif
endfor
?
s
settalkon
return
12、输入一个大于0的整数,计算从1到这个整数之间的所有不被3整除的和
settalkoff
clear
input"请输入整数"toa
s=0
forb=0toa
ifb/3-int(b/3)>0
s=s+b
b=b+1
endif
endfor
?
s
settalkon
return
13、输入任意三个数,求出较大数,并显示出来
settalkoff
clear
input"请输入数据a"toa
input"请输入数据b"tob
input"请输入数据c"toc
docase
casea>banda>c
?
a
caseb>aandb>c
?
b
casec>aandc>b
?
c
endcase
settalkon
return
14、求1到1000所有能被5或能被7整除的奇数之和
settalkoff
clear
s=0
fora=1to1000
ifmod(a,5)=0andmod(a,2)>0ormod(a,7)=0andmod(a,2)>0
s=s+a
a=a+1
endif
endfor
?
s
settalkon
return
15、试编写程序求出100到300之间能被3和7整除的数的个数
settalkoff
clear
n=0
fora=100to300
ifmod(a,3)=0andmod(a,7)=0
n=n+1
a=a+1
endif
endfor
?
n
settalkon
return
16、双重循环打印“九九乘法口诀表”
settalkoff
clear
?
"*"
forA=1to9
?
?
A
endfor
?
forA=1to9
?
A
B=1
dowhileB<=A
P=A*B
?
?
p
B=B+1
enddo
?
endfor
settalkon
return
17、判断闰年:
y=thisform.text1.value
ify/4=int(y/4)andy/100<>int(y/100)ory/400=int(y/400)
thisform.label3.caption=alltrim(str(y,4))+'年是闰年'
else
thisform.label3.caption=alltrim(str(y,4))+'年不是闰年'
thisform.text1.value=0
endif
(结构化)CLEAR
INPUT"请输入年份:
"toy
IFy/4=int(y/4)andy/100<>int(y/100)ory/400=int(y/400)
?
str(y,4)+"年是闰年"
ELSE
?
str(y,4)+"年不是闰年"
ENDIF
RETURN
(判断季节)yf=val(thisform.text1.value)
docase
caseyf=3oryf=4oryf=5
jj="春季"
caseyf=6oryf=7oryf=8
jj="夏季"
caseyf=9oryf=10oryf=11
jj="秋季"
caseyf=12oryf=1oryf=2
jj="冬季"
endcase
?
jj
18、交换两个数:
a=thisform.text1.value
b=thisform.text2.value
t=a
a=b
b=t
thisform.label3.caption=alltrim(str(a))
thisform.label4.caption=alltrim(str(b))
19、逆序显示:
x=thisform.text1.value
ifx>100andx<1000andx=int(x)
x1=int(x/100)
x2=int(mod(x,100)/10)
x3=mod(x,10)
y=x1+10*x2+100*x3
thisform.label2.caption='结果为:
'+str(y,3)
else
messagebox('输入的不是一个3位自然数,请重新输入!
','提示框')
thisform.text1.value=0
thisform.text1.setfocus
endif
20、找出ASCII中的数字串:
x=alltrim(thisform.text1.value)
y=""
fori=1tolen(x)
c=substr(x,i,1)
ifc>="0"andc<='9'
y=y+c
endif
endfor
thisform.label3.caption=alltrim(y)
21、找出ASCII中的大写字母:
x=alltrim(thisform.text1.value)
y=""
fori=1tolen(x)
c=substr(x,i,1)
ifasc(c)>=65andasc(c)<=90
y=y+c
endif
endfor
thisform.label3.caption=y
22、找出ASCII中的小写字母:
x=alltrim(thisform.text1.value)
y=''
fori=1tolen(x)
c=substr(x,i,1)
ifASC(C)>=asc('a')andasc(c)<=asc('z')
y=y+c
endif
endfor
thisform.label3.caption=y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 重要 算法