东方填空(有答案)

1、程序的功能是:在在学生表中查找并输出指定学生的所有信息。

填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

CLEAR

USE 学生

INDEX ON 学号 TO XH 或者 SET ORDER TO 学号---1----&&此处填空ACCEPT "请输入指定的学生学号:" TO XH

SEEK XH

IF !FOUND---2----&&此处填空

? "查无此人!"

ELSE

DISPLAY----3----&&此处填空

ENDIF

USE

SET TALK ON

2、给定程序的功能是:判断给定的正整数值表达式的值是否为素数。

填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

CLEAR

DO WHILE .T.

INPUT "请输入一个正整数:" TO X

FOR I=2 TO X-1----1----&&此处填空

IF INT(X/I)=X/I

EXIT

ENDIF

ENDFOR

IF X=I----2---- &&此处填空

? X,"是素数!"

ELSE

? X,"不是素数!"

ENDIF

WAIT "是否继续输入(Y/N)" TO YN

IF UPPER(YN)="Y" 或者IF LOWER(YN)----3-----&&此处填空

LOOP

ELSE

EXIT

ENDIF

ENDDO

SET TALK ON

3、给定程序的功能是:输入边长,如果能构成三角形,则计算三角形面积。

填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

DO WHILE .T.---1----&&此处填空

CLEAR

INPUT "输入第一边长:" TO X

INPUT "输入第二边长:" TO Y

INPUT "输入第三边长:" TO Z

IF X=0.OR.Y=0.OR.Z=0.OR. X+Y<=Z .OR. Y+Z<=X .OR. X+Z<=Y

? "尺寸有误,重新输入!"

LOOP---2----&&此处填空

ENDIF

EXIT

ENDDO

U=(X+Y+Z)/2

M=SORT(U*(U-X)*(U-Y)*(U-Z))--- 3-----&&此处填空

? "AREA="+ALLTRIM(STR(M,19,2))

SET TALK OFF

4、给定程序的功能是:在屏幕上显示输出一个乘法九九表。显示格式如下:

填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

CLEAR

X=1 或者 STORE 1 TO X ----1---&&此处填空

DO WHILE X<=9

Y=1

DO WHILE Y<=X

??STR(X,1)+"*"+STR(Y,1)+"="+STR(X*Y,2)+""或者??STR(X,1)+"*"+STR(Y,1)+"="+STR(X*Y,2)+SPACE(1)----2------&&此处填空

Y=Y+1

ENDDO

?----3----&&此处填空

X=X+1

ENDDO

SET TALK ON

5、给定程序的功能是: 根据输入的数据, 计算不大于该数的所有奇数累加和。填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

CLEAR

YN="Y"

DO WHILE UPPER(YN)="Y" 或者 LOWER(YN)="y"---1----&&此处填空

INPUT "请输入两位以内的正整数:" TO N

STORE 0 TO X,Y

DO WHILE X

X=X+1

IF INT(X/2)<>X/2---2-----&&此处填空

Y=Y+X

ENDIF

ENDDO

? "不大于该数的奇数累加和="+STR(Y,4)

WAIT 或者 INPUT 或者 ACCEPT---3---&&此处填空"继续计算否?(Y/N)" TO YN

ENDDO

? "再见!"

SET TALK ON

6、给定程序的功能是: 根据输入的数据,判断该数是否为偶数,可以循环输入。填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

CLEAR

YN="Y"

DO WHILE UPPER(YN)="Y" 或者 DO WHILE LOWER(YN)="y"----1----&&此处填空 INPUT "请输入一个自然数:" TO N

IF N/2!=INT(N/2) 或者 MOD(N,2)!=0 或者 N%2!=0---2-----&&此处填空

? "不是偶数!"

ELSE

? "是偶数!"

ENDIF

WAIT----3---- &&此处填空"继续否?(Y/N)" TO YN

ENDDO

? "再见!"

SET TALK ON

7、给定程序的功能是: 显示指定表中的全部字段名,并由用户输入显示表信息的条件,最后列表显示满足条件的记录。

填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

DO WHILE .T.

CLEAR

ACCEPT "请输入表名(扩展名略):" TO TBN

IF FILE("&TBN..DBF")

USE(TBN) 或者 USE&TBN----1-----&&此处填空

ELSE

WAIT "指定的表不存在!"

LOOP

ENDIF

?"表中的全部字段名列表:"

FOR N=1 TO FCOUNT()---2----&&此处填空

?FIELD(N)

ENDFOR

ACCEPT "请输入显示表信息的条件:" TO EXPR

LIST &EXPR---3----- &&此处填空

WAIT "是否继续(Y/N)?: " TO YN

IF UPPER(YN)!= "Y"

EXIT

ENDIF

ENDDO

USE

SET TALK ON

8、给定程序的功能是:接收从键盘输入的任意10个数,输入的数字可以是负数,但包括符号位最多三位。程序的功能是,找出其中最大的数和最小的数字,最后显示出来。

填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

CLEAR

INPUT "请输入第一个数字:" TO X

ZD=X

ZX=X----1----&&此处填空

N=10

DO WHILE N>1----2----&&此处填空

INPUT "请输入下一个数字:" TO X

IF ZD

ZD=X

ENDIF

IF ZX>X----3----&&此处填空

ZX=X

ENDIF

N=N-1

ENDDO

?"最大数:"+STR(ZD,3,0),"最小数:"+STR(ZX,3,0)

SET TALK ON

9、程序的功能是,显示输出学生表中每个班级的男女同学的奖学金总金额。

填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

CLEAR

USE 学生

INDEX ON 学号 TO INN0

?"**********各班男女奖学金总额统计************"

?"班级男同学奖学金总额女同学奖学金总额"

DO WHILE !EOF()----1----&&此处填空

CLASS=LEFT(学号,3)

STORE 0 TO BOYS,GIRLS

DO WHILE LEFT(学号,3)=CLASS 或者SUBSTR(学号,1,3)=CLASS----2-----&&此处填空

IF 性别

BOYS=BOYS+奖学金

ELSE

GIRLS=GIRLS+奖学金

ENDIF

SKIP----3----&&此处填空

ENDDO

?CLASS+STR(BOYS,19,2)+ STR(GIRLS,19,2)

ENDDO

USE

SET TALK ON

10、给定程序的功能是:返回给定的字符串表达式的倒置字符串。如:输入字符串"ABCD",倒置后输出的字符串为"DCBA" 。

填空要求:程序中共有三个填空,请在“---n---”处填空(注意:不能删除“&&此处填空”,以便于检查),并调试运行。不得增加或删减程序行。

SET TALK OFF

CLEAR

ACCEPT "请输入一个字符串:" TO X

C=" " 或者 C=SPACE(0)---1----&&此处填空

L=LEN(X)

DO WHILE 00---2-----&&此处填空

Q=SUBSTR(X,L,1)

C=C+Q----3----&&此处填空

L=L-1

ENDDO

? "倒置字符串是:"+C

RETURN

SET TALK ON

11、本程序实现:利用公式e x=1+X+X2/2!+X3/3!+…+X n/n!,输入X和N,计算

e x的近似值。

SET TALK OFF

CLEAR

INPUT 'X=' TO X

INPUT 'N=' TO N

A=1

B=1

S=1---1----&&此处填空

FOR I=1 TO N---2---&&此处填空

A=A*X

B=B*I

S=S+A/B---3---&&此处填空

ENDFOR

? 'S=',S

SET TALK ON

12、本程序实现:输入一个正整数M,判断并显示1~M中有哪些数可以分为两个相等的素数。(如M=10,有3个数符合,即2+2=4,3+3=6和5+5=10)

SET TALK OFF

CLEAR

INPUT 'M=' TO M

IF INT(M)!=M OR ABS(M)!=M

? '输入数据不符合题目要求!'

ELSE----1----&&此处填空

S=0

FOR I=2 TO M/2

FOR J=2 TO I-1----2-----&&此处填空

IF I%J=0

EXIT

ENDIF

ENDFOR

IF J>I-1 或者 IF J=I-----3----&&此处填空

S=S+1

?ALLTRIM(STR(J*2,19))+"="+ALLTRIM(STR(J,19))+"+"+ALLTRIM(STR(J,19 ))

ENDIF

ENDFOR

?ALLTRIM(STR(M,19))+"中共有:"+STR(S,3)+"个数满足条件"

SET TALK ON

13、本程序实现口令验证。输入次数在3次以内,给予重输的提示,超过3次,则进入死循环。

SET TALK OFF

CLEAR

I=1

DO WHILE .T.

? "请输入口令="

SET CONSOLE OFF

ACCEPT TO KL

SET CONSOLE ON

IF KL=="ABC"

? "欢迎使用本系统!"

EXIT----1----&&此处填空

ENDIF

IF I>3----2-----&&此处填空

? "无权使用本系统!"

DO WHILE .T.

ENDDO

ENDIF

?"口令第"+STR(I,1)+"次错,再试一次!"

I=I+1----3----&&此处填空

ENDDO

SET TALK ON

14、本程序显示学生表中的获得奖学金的学生姓名和奖学金数额

SET TALK OFF

CLEAR

USE 学生

DO WHILE !EOF() 或者 DO WHILE .NOT.EOF()------1------&&此处填空

IF 奖学金>0----2----&&此处填空

? 姓名,奖学金

SKIP

ELSE

SKIP----3----&&此处填空

ENDIF

ENDDO

USE

SET TALK ON

15、本程序显示学生表中1971年或以前出生的学生姓名和出生年月(日期型)。SET TALK OFF

CLEAR

USE 学生

LOCATE FOR YEAR(出生年月)<=1990 或者FOR 出生年月<={^1990-01-01}----1----&&此处填空

DO WHILE .NOT.EOF() 或者DO WHILE !EOF() 或者DO WHILE FOUND()----2----&&此处填空

? 姓名,出生年月

CONTINUE----3----&&此处填空

ENDIF

ENDDO

USE

SET TALK ON

16.本程序计算一个十进制正整数N的各位数字之和。

SET TALK OFF

CLEAR

INPUT "M=" TO M

IF INT(M)!=M OR ABS(M)!=M

? "输入的数据不符合题目要求!"

ELSE---1----&&此处填空

S=0

DO WHILE M>0---2----&&此处填空

T=MOD(M,10)

S=S+T

M=INT(M/10)---3----&&此处填空

ENDDO

?S

ENDIF

SET TALK ON

17.本程序实现从键盘中输入5个数,去掉一个最大数和一个最小数,然后求平均值。

SET TALK OFF

CLEAR

INPUT 'N=' TO N

STORE N TO A,B,S---1----&&此处填空

FOR I=1 TO 4

INPUT 'N=' TO N

IF AA---2----&&此处填空

A=N

ENDIF

IF B>N

B=N

ENDIF

S=S+N 或者 S=N+A---3----&&此处填空

ENDFOR

? '平均值=',(S-A-B)/3

SET TALK ON

18.程序1:求1!+3!+5!+…+N!,N由键盘输入。

SET TALK OFF

CLEAR

INPUT "N=" TO N---1----&&此处填空

STORE 0 TO S,T

FOR I=1 TO N STEP 2

DO SUB

S=S+T---2----&&此处填空

ENDFOR

?S

SET TALK ON

PROC SUB

T=1

FOR J=1 TO I

T=T*J---3----&&此处填空

ENDFOR

19.设变量N的输入值为5,字符A的ASCII码为65。程序的运行如下图所示:

SET TALK OFF

CLEAR

INPUT "N=" TO N

FOR I=1 TO N

? SPACE(N-I)---1----&&此处填空

FOR J=1 TO 2*I-1---2----&&此处填空

?? CHR(65+I-1)---3----&&此处填空

ENDFOR

ENDFOR

20.将表“学生.DBF”中指定学生(由键盘输入)的奖学金加60,并显示该学生的记录。

SET TALK OFF

CLEAR

USE 学生

ACCEPT “输入学号=” TO M

LOCATE FOR 学号=M---1----&&此处填空

IF !EOF()

REPLACE 奖学金 WITH 奖学金+60---2----&&此处填空

DISP

ELSE

?”没有找到!”

ENDIF---3----&&此处填空

USE

SET TALK ON

21.下面程序统计指定学生的平均成绩及该成绩的档次。

SET TALK OFF

CLEAR

USE 成绩

ACCEPT "请输入学生的学号:" TO XH

LOCATE FOR 学号=XH---1----&&此处填空

IF !FOUND()

?"查无此人!"

ELSE

AVERAGE 成绩 TO PJCJ FOR 学号=XH---2----&&此处填空

DO CASE

CASE PJCJ>=90

DC="优"

CASE PJCJ>=80

DC="良"

CASE PJCJ>=70

DC="中"

CASE PJCJ>=60

DC="及格"

OTHERWHISE 或者 CASE PJCJ<60---3----&&此处填空

DC="不及格"

ENDCASE

?"学号","平均成绩","档次"

?XH,STR(PJCJ,8,2),DC

ENDIF

USE

22.程序输出的结果如下图所示:

SET TALK OFF

CLEA

A="*"

H=5---1----&&此处填空

FOR K=1 TO H

? SPACE(H-K)---2----&&此处填空

FOR T=1 TO 2*K-1---3----&&此处填空

??A

ENDFOR

ENDFOR

SET TALK ON

23.编一将日期转换成中文星期的自定义函数。

N=DOW(D)---1----&&此处填空

DO CASE

CASE N=1

C="星期日"

CASE N=2

C="星期一"

CASE N=3

C="星期二"

CASE N=4

C="星期三"

CASE N=5

C="星期四"

CASE N=6

C="星期五"

CASE N=7

C="星期六"

OTHERWISE---2----&&此处填空

C="输入有错!"

ENDCASE

RETURN C---3----&&此处填空

24.本程序实现“百钱买百鸡”的计算(取自《算经》:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?)

CLEAR

FOR X=0 TO 20

FOR Y=0 TO 33---1----&&此处填空

Z=100-X-Y

IF 5*X+3*Y+Z/3=100---2----&&此处填空

?"X="+STR(X,2),"Y="+STR(Y,2),"Z="+STR(Z,2)

ENDIF

ENDFOR

ENDFOR---3----&&此处填空

SET TALK ON

25.输入一个自然数,判断该数是否为完数。(完数的定义:若该数除本身之外的所有因子之和等于该数,则为完数。如:1+2+3=6,6为完数;1+2+4#8,8不是完数。)

SET TALK OFF

CLEAR

INPUT "M=" TO M

N=1

S=0 或者 STORE 0 TO S---1----&&此处填空

FOR N=1 TO M-1

IF MOD(M,N)=0 或者 INT(M/N)=M/N 或者 M%N=0---2----&&此处填空S=S+N

ENDIF

ENDFOR

IF S=M 或者 M=S---3----&&此处填空

?M,"是完数!"

ELSE

?M,"不是完数!"

ENDIF

SET TALK ON

相关文档
最新文档