1、Visual FxoPro 程序设计题1编写程序,从键盘输入一个日期,查询 STUDENT 表中该日期以后出生的学生信息 并显示在浏览窗口中。use student &运行前单击教学管理数据库input “请输入某日期:” to rq*输入时有提示,或 input to rq 输入时无提示,输入1987-01-01browse for 出生日期rq2有一函数:x (x0 or y%400=0? y,“is a leap year!“else? y,“is not leap year.“endif4编写程序,输入一个百分制成绩,要求输出成绩等级“A” 、 “B”、 “C”、 “D”、 “E”。9
2、0分以上为“A” ,8089 分为“B” ,7079 分为“C ”,6069 分为“D” ,60 分以下为“E”。clearinput “请输入一百分制成绩” to cjdo casecase cj=90?” A”case cj=80?” B”case cj=70?” C”case cj=60?” D”otherwise?” E”endcase5编写程序,从键盘输入一个正整数 M,输出 M 内(包括 M)所有偶数。clear input to mfor i=0 to m step 2?str(i,5)next6编写程序,从键盘输入一个正整数 M,计算 M 内(包括 M)所有偶数之和。clear
3、 input to ms=0for i=2 to m step 2s=s+inext? s7编写程序,从键盘输入 5 个数,找出其中的最大数和最小数。clearinput “请输入第一个数“ to maxmin=maxfor i=2 to 5? “请输入第“+str(i,2)+“个数“input to aif amaxmax=aendifif a平均成绩12写程序,输入一个三位自然数,判断该数是否为水仙花数。所谓水仙花数是指一个三位自然数,其各位数字立方和等于该数本身。例如,153 是水仙花数,因为1531 3+53+33。input to zrsgw=zrs%10sw=int(zrs/10)
4、%10bw=int(zrs/100)if bw*3+sw*3+gw*3=zrs?”yes!”else ?”no.”endif13编写一个自定义函数,判断一个三位自然数是否为水仙花数,若是,返回逻辑真,否则,返回逻辑假。编写主程序,输入一个三位自然数,调用自定义函数判断该数是否为水仙花数。clearinput to nif sxh(n)?”yes”else?”no”endiffunction sxhpara zrsgw=zrs%10sw=int(zrs/10)%10bw=int(zrs/100)if bw*3+sw*3+gw*3=zrsreturn .t.else return .f.endif
5、endfu14编写程序,输入 一个自然数,判断该数是否为素数。clearinput to zrssf=.t.for i=2 to sqrt(zrs)if zrs%i=0sf=.f.exitendifendforif sf=.t.?”yes”else?”no”endif15编写一个自定义函数,判断一个自然数是否为素数,返回一个逻辑值。编写主程序,调用自定义函数求 100200 间的所有素数。for i=100 to 200if prime(i)?iendifendforfunction primepara zrssf=.t.for j=2 to sqrt(zrs)if zrs%j=0sf=.f.
6、exitendifendforreturn sfendfunc16 编写程序,输出如图 5-12 所示的图形。clearfor i=1 to 5?space(6-i)+repl(*,2*i-1)endffor i=1 to 4?space(i+1)+repl(+,9-2*i)endf17.九九乘法表(1)矩形样式ClearFor I=1 to 10 &外循环 I 控制输出 9 行?For J=1 to 9 &内循环 J 控制第 I 行输出 9 项?str(I,1)+”+str(J,1)+”=”+str(I*J,2) &输出 I*J 项?” “EndforEndforReturn(2)斜向下样式
7、FOR n=1 TO 9s=ALLT(STR(n-1)i=ALLT(STR(n)图 5-12 实验题 16 的输出图形*+THISFORM.LIST1.ADDLISTITEM(“*“,1,1)THISFORM.LIST1.ADDLISTITEM(i,n+1,1)FOR t=n TO 9i=ALLT(STR(n)THISFORM.LIST1.ADDLISTITEM(i,1,n+1)s=ALLT(STR(t*n)THISFORM.LIST1.ADDLISTITEM(ALLT(STR(t)+“*“+ALLT(STR(n)+“=“+s,t+1,n+1)ENDFORENDFOR18.阶乘(1)求单个数阶乘(以 5 为例)ClearJ=1I=1Do while i=5J=j*iI=i+1Enddo?jReturn(2)求阶乘和(求 1 到 5 阶乘的和)ClearS=0I=1J=1Do while i=5J=j*iS=s+jI=i+1Enddo?sReturn另外方法:set talk offclear nFact=1For lnCnt=1 To 5nFact=nFact*lnCntEndFor?nFact