精选 VFP 常见编程实例-答案 1、1-100 的累加 求 1 到 100 的累加值 CLEAR s=0 i=1 DO WHILE i<=100 s=s+i i=i+1 &;&;一定记住先累加后循环 ENDDO ?s RETURN 2、阶乘 求 5 的阶乘 CLEAR j=1 i=1 DO WHILE i<=5 j=j*i i=i+1 ENDDO ?j RETURN 3、求阶乘和 求 1 至 5 的阶乘和 CLEAR s=0 i=1 j=1 DO WHILE i<=5 j=j*i s=s+j i=i+1 ENDDO ?s RETURN 4、条件定位 查询定位记录指针在赵伟上 CLEAR USE 学生 LOCATE FOR ="赵伟"
IF FOUND() DISPLAY ELSE CANCEL ENDIF CONTINUE 5、用 scan 语句
查询定位 用 scan 语句查询定位记录在赵伟上 CLEAR SCAN FOR ="赵伟" DISPLAY ENDSCAN RETURN 6、用 scan 语句扫描符合条件的记录,并显示出来 把年龄小于 30 岁的人显示出来 CLEAR SCAN FOR 年龄<30 DISPLAY ENDSCAN RETURN 7、查找男性职工 查找男性职工 CLEAR LOCATE FOR 性别="男" DO WHILE FOUND() DISPLAY CONTINUE ENDDO RETURN
查找男性职工 CLEAR LOCATE FOR 性别="男" DO WHILE NOT EOF() DISPLAY CONTINUE ENDDO RETURN
查找男性职工 CLEAR
USE 职员基本信息表 LOCATE FOR 性别="男" DO WHILE .t. IF FOUND() then DISPLAY ELSE &;&;记住最后一个 ELSE 语句后面不需要条件表达式 CANCEL ENDIF CONTINUE ENDDO
查找男性职工 set talk off clear open database 家庭成员管理.dbc use stu.dbf scan for not eof() if xb="女" skip else display skip endif endscan close database use set talk on return 8、新值换旧值 有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少 对兔子? clear store 1 to a,b i=3 do while i<=12 c=a+b a=b b=c i=i+1 enddo ?"一年共出生兔子:",c return
9、多位整数各个位数相加 CLEAR s=0 input "请输入一个多位整数:" to a DO WHILE a<>0 s=s+MOD(a,10) &;&;将 a 取余正好是个位上的数 a=INT(a/10) &;&;将 a 除 10 取整正好是除个位之后的数 ENDDO ?"这个整数的各个位数之和是:",s RETURN 10、找 100-999 之间的“水仙花数” CLEAR FOR i=100 TO 999 a=INT(i/100) b=INT((i-100*a)/10) c=i-INT(i/10)*10 IF i=a^3+b^3+c^3 ?i ENDIF ENDFOR RETURN 11、判断一个大于 3 的数是否为素数 CLEAR input "请输入一个数(>=3):" to s f=0 i=2 DO WHILE i<=INT(SQRT(s)) IF MOD(s,i)<>0 i=i+1 LOOP ELSE f=1 EXIT ENDIF ENDDO IF f=0 ?str(s,3)+"是素数" ELSE f=1 &;&;这个表达式可有可无,为了省事完全省略也可以。一般最后一个 ELSE 语句后面不需要表达式 ?str(s,3)+"不是素数" ENDIF RETURN
12、求一个班级每个学生的平均成绩 计算一个班级共三十名学生,每位学生 5 门功课的平均成绩 CLEAR &;&; 清屏 DIMENSION x(30,5) &;&; 定义一个数组变量,r 为学生数,i 为功课数 r=1 &;&; 给 30 个学生的计数变量 r 赋初值 1 DO WHILE r<=30 &;&; 循环 30 次,以计算出 30 个学生的平均成绩 s=0 &;&; 为学生一门功课成绩赋初值 0 i=1 &;&; 为五门功课计数变量赋初值 1 DO WHILE i<=5 &;&; 为一个学生的五门功课成绩累加 5 次
input "请输入学生的成绩" to x(r,i) s=s+x(r,i) &;&; 成绩累加 i=i+1 &;&; 功课累加 ENDDO &;&; 返回内循环 ?"这名学生的平均成绩是:",s/5 &;&; 显示平均成绩 r=r+1 &;&; 学生累加 ENDDO &;&; 返回外循环 13、计算圆的面积 CLEAR input "请输入半径的值" to r input "请输入 pi 的值" to pi s=pi*r^2 ?"圆的面积是",s RETURN 14、将小写字母转换为大写字母 NOTE 请将任意输入的一个小写字母转换成大写字母,也就是 upper()函数的程序实现 CLEAR &;&; 请屏 WAIT "请输入一个小写字母" to x &;&; 交互式输入一个小写字母 k=ASC(x) &;&; 将小写字母的 ASC 码赋值给变量 K IF k>=97 AND k<=122 &;&; 97 是小写字母 a 的 ASC 码值,122 是小写字母 z 的 ASC 码 值 ?x,"的大