2024年5月23日发(作者:在安怡)
历届专升本考试编程题参考答案
一、 选择结构试题
1. 假设邮费计算方法为:100克以内(含100克)收费5元,超过100克的部分每克加收
0.2元。试编写程序,要求从键盘输入邮寄物品质量,计算并输出邮费。
INPUT “输入邮寄物品质量(克)” TO X
IF X<=100
Y=5
ELSE
Y=(X-100)*0.2+5
ENDIF
?“邮寄费为”,Y,“元”
2
2. 现有一元二次方程:ax+bx+c=0,其中a、b、c是整数,且a≠0。若存在实根,则输出
“在实数范围内有解”;若不存在实根,则输出“在实数范围内无解”。
INPUT “输入A的值(不等于0)” TO A
INPUT “输入B的值” TO B
INPUT “输入C的值” TO C
IF B*B-4*A*C>=0
?“在实数范围内有解”
ELSE
?“在实数范围内无解”
ENDIF
3. 输入出租车行驶里程S,输出应付车费F。
S和F的关系如下:
6S3
F
6(S3)1.5S3
INPUT “输入出租车行驶里程” TO S
IF S<=3
F=6
ELSE
F=6+(S-3)*1.5
ENDIF
?“应付车费为”,F
4. 有一函数:
x
y
2x1
3x11
x1
1x10
x10
编程序,输入X值,输出Y值
1
历届专升本考试编程题参考答案
方法一
INPUT “输入X的值” TO X
IF X<1
Y=X
ELSE
IF X<10
Y=2*X-1
ELSE
Y=3*X-11
ENDIF
ENDIF
?“Y=”,Y
方法二
INPUT “输入X的值” TO X
DO CASE
CASE X<1
Y=X
CASE X<10
Y=2*X-1
OTHERWISE
Y=3*X-11
ENDCASE
?“Y=”,Y
5. 完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值。
x
2
Y
0
x
2
x0
x0
x0
INPUT “输入X的值” TO X
IF X>0
Y=X^2
ELSE
IF X=0
Y=0
ELSE
Y=-(X^2)
ENDIF
ENDIF
?“Y=”,Y
6. 某书店开展优惠售书活动,收费方法如下:
2
历届专升本考试编程题参考答案
0.9x (x≤100)
y= 0.8x (100<x≤500)
0.7x (x>500)
其中:x表示原价,y表示实际收费。试编写程序,要求从键盘输入x,计算输出y。
INPUT “输入原价” TO X
IF X<=100
Y=0.9*X
ELSE
IF X<=500
Y=0.8*X
ELSE
Y=0.7*X
ENDIF
ENDIF
?“实际收费为”,Y
7. 某商场开展优惠促销活动,购物总额不足100元的不打折;购物总额在100元到500元
之间的打9折;购物总额满500元的打8折。计算公式如下:
其中,x为购物总额,y为应付款。编写程序输入顾客的购物总额,输出应付款。
INPUT “输入购物总额” TO X
DO CASE
CASE X<100
Y=X
CASE X<500
Y=0.9*X
CASE X>=500
Y=0.8*X
ENDCASE
?“应付款为”,Y
8. 从键盘输入三个整数x、y、z,输出其中最小的数。
INPUT “输入第一个整数” TO X
INPUT “输入第二个整数” TO Y
INPUT “输入第三个整数” TO Z
SMALL=X
IF Y
SMALL=Y
ENDIF
IF Z
对于VFP,可以利用MAX、MIN函数,使
这类程序大为简化:
?MIN(A,B,C)
3
历届专升本考试编程题参考答案
SMALL=Z
ENDIF
? “三个数中最小的整数是”,SMALL
9. 从键盘输入三个数,编程求出三个数中的最大数和最小数,并显示输出。
方法一
INPUT “输入第一个数” TO A
INPUT “输入第二个数” TO B
INPUT “输入第三个数” TO C
BIG=A
SMALL=A
IF B>BIG
BIG=B
ENDIF
IF B
SMALL=B
ENDIF
IF C>BIG
BIG=C
ENDIF
IF C
SMALL=C
ENDIF
?“其中最大数为”,BIG
?“其中最小数为”,SMALL
方法二
INPUT “输入第一个数” TO A
INPUT “输入第二个数” TO B
INPUT “输入第三个数” TO C
?“其中最大数为”,MAX(A,B,C)
?“其中最小数为”,MIN(A,B,C)
10. 整型变量a,b,c中分别存放各不相同的数值。编写程序,实现a,b,c从大到小排序,
并以此顺序输出排序后的三个数。
方法一
INPUT “输入第一个整数” TO A
INPUT “输入第二个整数” TO B
INPUT “输入第三个整数” TO C
IF A
T=A
A=B
4
历届专升本考试编程题参考答案
B=T
ENDIF
IF A T=A A=C C=T ENDIF IF B T=B B=C C=T ENDIF ? A,B,C 方法二 INPUT TO A INPUT TO B INPUT TO C BIG=MAX(A,B,C) SMALL=MIN(A,B,C) SUM=A+B+C A=BIG C=SMALL B=SUM-BIG-SMALL ?A,B,C 二、循环结构试题 11. 求两个整数m和n的最大公约数。 INPUT “输入一个整数” TO M INPUT “输入另一个整数” TO N T=MOD(M,N) DO WHILE T<>0 M=N N=T T=MOD(M,N) ENDDO ?“最大公约数为”,N 12. 从键盘输入一个正整数n,编程求出 2 n i1 n ,即1+2+„„+n,并将结果显示输出。 222 INPUT “输入一个正整数” TO N SUM=0 FOR I=1 TO N SUM=SUM+I*I ENDFOR ?“SUM=”,SUM 1210 13. 试使用循环结构编程计算y=2+2+„„2,并输出结果。 Y=0 FOR I=1 TO 10 Y=Y+2^I ENDFOR ?“Y=”,Y 5 历届专升本考试编程题参考答案 14. 编程求s=1×2+3×4+5×6+„„+99×100的值,并输出结果。 S=0 FOR I=1 TO 100 STEP 2 S=S+I*(I+1) ENDFOR ?“S=”,S 15. 根据以下公式计算并输出S的值。 S1 1111 234100 S=0 FOR I=1 TO 100 S=S+1/I ENDFOR ?“S=”,S 16. 编程输出100~500之间能被7整除的奇数的个数。 N=0 N=0 FOR I=100 TO 500 FOR I=101 TO 500 STEP 2 IF I%7=0 AND I%2=1 IF MOD(I,7)=0 N=N+1 N=N+1 ENDIF ENDIF ENDFOR ENDFOR ?“N=”,N ?“N=”,N 17. 求Sn=a+aa+aaa+aaaa„„ 其中a是一个数字,a的个数为n,a和n由键盘输入 INPUT “输入A的值”TO A INPUT “输入项数N” TO N SN=0 T=A FOR I=1 TO N SN=SN+A A=A*10+T ENDFOR ?“数列之和为:”,SN 18. 某班有45名学生参加“专升本”考试。现要求从键盘输入全班一门课的成绩,输出该 课程的平均分、及格人数及其百分比。 SUM=0 6
2024年5月23日发(作者:在安怡)
历届专升本考试编程题参考答案
一、 选择结构试题
1. 假设邮费计算方法为:100克以内(含100克)收费5元,超过100克的部分每克加收
0.2元。试编写程序,要求从键盘输入邮寄物品质量,计算并输出邮费。
INPUT “输入邮寄物品质量(克)” TO X
IF X<=100
Y=5
ELSE
Y=(X-100)*0.2+5
ENDIF
?“邮寄费为”,Y,“元”
2
2. 现有一元二次方程:ax+bx+c=0,其中a、b、c是整数,且a≠0。若存在实根,则输出
“在实数范围内有解”;若不存在实根,则输出“在实数范围内无解”。
INPUT “输入A的值(不等于0)” TO A
INPUT “输入B的值” TO B
INPUT “输入C的值” TO C
IF B*B-4*A*C>=0
?“在实数范围内有解”
ELSE
?“在实数范围内无解”
ENDIF
3. 输入出租车行驶里程S,输出应付车费F。
S和F的关系如下:
6S3
F
6(S3)1.5S3
INPUT “输入出租车行驶里程” TO S
IF S<=3
F=6
ELSE
F=6+(S-3)*1.5
ENDIF
?“应付车费为”,F
4. 有一函数:
x
y
2x1
3x11
x1
1x10
x10
编程序,输入X值,输出Y值
1
历届专升本考试编程题参考答案
方法一
INPUT “输入X的值” TO X
IF X<1
Y=X
ELSE
IF X<10
Y=2*X-1
ELSE
Y=3*X-11
ENDIF
ENDIF
?“Y=”,Y
方法二
INPUT “输入X的值” TO X
DO CASE
CASE X<1
Y=X
CASE X<10
Y=2*X-1
OTHERWISE
Y=3*X-11
ENDCASE
?“Y=”,Y
5. 完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值。
x
2
Y
0
x
2
x0
x0
x0
INPUT “输入X的值” TO X
IF X>0
Y=X^2
ELSE
IF X=0
Y=0
ELSE
Y=-(X^2)
ENDIF
ENDIF
?“Y=”,Y
6. 某书店开展优惠售书活动,收费方法如下:
2
历届专升本考试编程题参考答案
0.9x (x≤100)
y= 0.8x (100<x≤500)
0.7x (x>500)
其中:x表示原价,y表示实际收费。试编写程序,要求从键盘输入x,计算输出y。
INPUT “输入原价” TO X
IF X<=100
Y=0.9*X
ELSE
IF X<=500
Y=0.8*X
ELSE
Y=0.7*X
ENDIF
ENDIF
?“实际收费为”,Y
7. 某商场开展优惠促销活动,购物总额不足100元的不打折;购物总额在100元到500元
之间的打9折;购物总额满500元的打8折。计算公式如下:
其中,x为购物总额,y为应付款。编写程序输入顾客的购物总额,输出应付款。
INPUT “输入购物总额” TO X
DO CASE
CASE X<100
Y=X
CASE X<500
Y=0.9*X
CASE X>=500
Y=0.8*X
ENDCASE
?“应付款为”,Y
8. 从键盘输入三个整数x、y、z,输出其中最小的数。
INPUT “输入第一个整数” TO X
INPUT “输入第二个整数” TO Y
INPUT “输入第三个整数” TO Z
SMALL=X
IF Y
SMALL=Y
ENDIF
IF Z
对于VFP,可以利用MAX、MIN函数,使
这类程序大为简化:
?MIN(A,B,C)
3
历届专升本考试编程题参考答案
SMALL=Z
ENDIF
? “三个数中最小的整数是”,SMALL
9. 从键盘输入三个数,编程求出三个数中的最大数和最小数,并显示输出。
方法一
INPUT “输入第一个数” TO A
INPUT “输入第二个数” TO B
INPUT “输入第三个数” TO C
BIG=A
SMALL=A
IF B>BIG
BIG=B
ENDIF
IF B
SMALL=B
ENDIF
IF C>BIG
BIG=C
ENDIF
IF C
SMALL=C
ENDIF
?“其中最大数为”,BIG
?“其中最小数为”,SMALL
方法二
INPUT “输入第一个数” TO A
INPUT “输入第二个数” TO B
INPUT “输入第三个数” TO C
?“其中最大数为”,MAX(A,B,C)
?“其中最小数为”,MIN(A,B,C)
10. 整型变量a,b,c中分别存放各不相同的数值。编写程序,实现a,b,c从大到小排序,
并以此顺序输出排序后的三个数。
方法一
INPUT “输入第一个整数” TO A
INPUT “输入第二个整数” TO B
INPUT “输入第三个整数” TO C
IF A
T=A
A=B
4
历届专升本考试编程题参考答案
B=T
ENDIF
IF A T=A A=C C=T ENDIF IF B T=B B=C C=T ENDIF ? A,B,C 方法二 INPUT TO A INPUT TO B INPUT TO C BIG=MAX(A,B,C) SMALL=MIN(A,B,C) SUM=A+B+C A=BIG C=SMALL B=SUM-BIG-SMALL ?A,B,C 二、循环结构试题 11. 求两个整数m和n的最大公约数。 INPUT “输入一个整数” TO M INPUT “输入另一个整数” TO N T=MOD(M,N) DO WHILE T<>0 M=N N=T T=MOD(M,N) ENDDO ?“最大公约数为”,N 12. 从键盘输入一个正整数n,编程求出 2 n i1 n ,即1+2+„„+n,并将结果显示输出。 222 INPUT “输入一个正整数” TO N SUM=0 FOR I=1 TO N SUM=SUM+I*I ENDFOR ?“SUM=”,SUM 1210 13. 试使用循环结构编程计算y=2+2+„„2,并输出结果。 Y=0 FOR I=1 TO 10 Y=Y+2^I ENDFOR ?“Y=”,Y 5 历届专升本考试编程题参考答案 14. 编程求s=1×2+3×4+5×6+„„+99×100的值,并输出结果。 S=0 FOR I=1 TO 100 STEP 2 S=S+I*(I+1) ENDFOR ?“S=”,S 15. 根据以下公式计算并输出S的值。 S1 1111 234100 S=0 FOR I=1 TO 100 S=S+1/I ENDFOR ?“S=”,S 16. 编程输出100~500之间能被7整除的奇数的个数。 N=0 N=0 FOR I=100 TO 500 FOR I=101 TO 500 STEP 2 IF I%7=0 AND I%2=1 IF MOD(I,7)=0 N=N+1 N=N+1 ENDIF ENDIF ENDFOR ENDFOR ?“N=”,N ?“N=”,N 17. 求Sn=a+aa+aaa+aaaa„„ 其中a是一个数字,a的个数为n,a和n由键盘输入 INPUT “输入A的值”TO A INPUT “输入项数N” TO N SN=0 T=A FOR I=1 TO N SN=SN+A A=A*10+T ENDFOR ?“数列之和为:”,SN 18. 某班有45名学生参加“专升本”考试。现要求从键盘输入全班一门课的成绩,输出该 课程的平均分、及格人数及其百分比。 SUM=0 6