计算机历届专升本考试编程题参考答案.docx

上传人:b****6 文档编号:8078604 上传时间:2023-01-28 格式:DOCX 页数:16 大小:34.24KB
下载 相关 举报
计算机历届专升本考试编程题参考答案.docx_第1页
第1页 / 共16页
计算机历届专升本考试编程题参考答案.docx_第2页
第2页 / 共16页
计算机历届专升本考试编程题参考答案.docx_第3页
第3页 / 共16页
计算机历届专升本考试编程题参考答案.docx_第4页
第4页 / 共16页
计算机历届专升本考试编程题参考答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

计算机历届专升本考试编程题参考答案.docx

《计算机历届专升本考试编程题参考答案.docx》由会员分享,可在线阅读,更多相关《计算机历届专升本考试编程题参考答案.docx(16页珍藏版)》请在冰豆网上搜索。

计算机历届专升本考试编程题参考答案.docx

计算机历届专升本考试编程题参考答案

一、选择结构试题

1.假设邮费计算方法为:

100克以内(含100克)收费5元,超过100克的部分每克加收0.2元。

试编写程序,要求从键盘输入邮寄物品质量,计算并输出邮费。

INPUT“输入邮寄物品质量(克)”TOX

IFX<=100

Y=5

ELSE

Y=(X-100)*0.2+5

ENDIF

?

“邮寄费为”,Y,“元”

2.现有一元二次方程:

ax2+bx+c=0,其中a、b、c是整数,且a≠0。

若存在实根,则输出“在实数范围内有解”;若不存在实根,则输出“在实数范围内无解”。

INPUT“输入A的值(不等于0)”TOA

INPUT“输入B的值”TOB

INPUT“输入C的值”TOC

IFB*B-4*A*C>=0

?

“在实数范围内有解”

ELSE

?

“在实数范围内无解”

ENDIF

3.输入出租车行驶里程S,输出应付车费F。

S和F的关系如下:

INPUT“输入出租车行驶里程”TOS

IFS<=3

F=6

ELSE

F=6+(S-3)*1.5

ENDIF

?

“应付车费为”,F

4.有一函数:

编程序,输入X值,输出Y值

方法一

INPUT“输入X的值”TOX

IFX<1

Y=X

ELSE

IFX<10

Y=2*X-1

ELSE

Y=3*X-11

ENDIF

ENDIF

?

“Y=”,Y

方法二

INPUT“输入X的值”TOX

DOCASE

CASEX<1

Y=X

CASEX<10

Y=2*X-1

OTHERWISE

Y=3*X-11

ENDCASE

?

“Y=”,Y

5.完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值。

INPUT“输入X的值”TOX

IFX>0

Y=X^2

ELSE

IFX=0

Y=0

ELSE

Y=-(X^2)

ENDIF

ENDIF

?

“Y=”,Y

6.某书店开展优惠售书活动,收费方法如下:

0.9x(x≤100)

y=0.8x(100<x≤500)

0.7x(x>500)

其中:

x表示原价,y表示实际收费。

试编写程序,要求从键盘输入x,计算输出y。

INPUT“输入原价”TOX

IFX<=100

Y=0.9*X

ELSE

IFX<=500

Y=0.8*X

ELSE

Y=0.7*X

ENDIF

ENDIF

?

“实际收费为”,Y

7.某商场开展优惠促销活动,购物总额不足100元的不打折;购物总额在100元到500元之间的打9折;购物总额满500元的打8折。

计算公式如下:

其中,x为购物总额,y为应付款。

编写程序输入顾客的购物总额,输出应付款。

INPUT“输入购物总额”TOX

DOCASE

CASEX<100

Y=X

CASEX<500

Y=0.9*X

CASEX>=500

Y=0.8*X

ENDCASE

?

“应付款为”,Y

8.从键盘输入三个整数x、y、z,输出其中最小的数。

对于VFP,可以利用MAX、MIN函数,使这类程序大为简化:

?

MIN(A,B,C)

INPUT“输入第一个整数”TOX

INPUT“输入第二个整数”TOY

INPUT“输入第三个整数”TOZ

SMALL=X

IFY

SMALL=Y

ENDIF

IFZ

SMALL=Z

ENDIF

?

“三个数中最小的整数是”,SMALL

9.从键盘输入三个数,编程求出三个数中的最大数和最小数,并显示输出。

方法一

INPUT“输入第一个数”TOA

INPUT“输入第二个数”TOB

INPUT“输入第三个数”TOC

BIG=A

SMALL=A

IFB>BIG

BIG=B

ENDIF

IFB

SMALL=B

ENDIF

IFC>BIG

BIG=C

ENDIF

IFC

SMALL=C

ENDIF

?

“其中最大数为”,BIG

?

“其中最小数为”,SMALL

方法二

INPUT“输入第一个数”TOA

INPUT“输入第二个数”TOB

INPUT“输入第三个数”TOC

?

“其中最大数为”,MAX(A,B,C)

?

“其中最小数为”,MIN(A,B,C)

10.整型变量a,b,c中分别存放各不相同的数值。

编写程序,实现a,b,c从大到小排序,并以此顺序输出排序后的三个数。

方法一

INPUT“输入第一个整数”TOA

INPUT“输入第二个整数”TOB

INPUT“输入第三个整数”TOC

IFA

T=A

A=B

方法二

INPUTTOA

INPUTTOB

INPUTTOC

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

B=T

ENDIF

IFA

T=A

A=C

C=T

ENDIF

IFB

T=B

B=C

C=T

ENDIF

?

A,B,C

二、循环结构试题

11.求两个整数m和n的最大公约数。

INPUT“输入一个整数”TOM

INPUT“输入另一个整数”TON

T=MOD(M,N)

DOWHILET<>0

M=N

N=T

T=MOD(M,N)

ENDDO

?

“最大公约数为”,N

12.从键盘输入一个正整数n,编程求出

,即12+22+……+n2,并将结果显示输出。

INPUT“输入一个正整数”TON

SUM=0

FORI=1TON

SUM=SUM+I*I

ENDFOR

?

“SUM=”,SUM

13.试使用循环结构编程计算y=21+22+……210,并输出结果。

Y=0

FORI=1TO10

Y=Y+2^I

ENDFOR

?

“Y=”,Y

14.编程求s=1×2+3×4+5×6+……+99×100的值,并输出结果。

S=0

FORI=1TO100STEP2

S=S+I*(I+1)

ENDFOR

?

“S=”,S

15.根据以下公式计算并输出S的值。

S=0

FORI=1TO100

S=S+1/I

ENDFOR

?

“S=”,S

16.编程输出100~500之间能被7整除的奇数的个数。

N=0

FORI=101TO500STEP2

IFMOD(I,7)=0

N=N+1

ENDIF

ENDFOR

?

“N=”,N

N=0

FORI=100TO500

IFI%7=0ANDI%2=1

N=N+1

ENDIF

ENDFOR

?

“N=”,N

 

17.求Sn=a+aa+aaa+aaaa……其中a是一个数字,a的个数为n,a和n由键盘输入

INPUT“输入A的值”TOA

INPUT“输入项数N”TON

SN=0

T=A

FORI=1TON

SN=SN+A

A=A*10+T

ENDFOR

?

“数列之和为:

”,SN

18.某班有45名学生参加“专升本”考试。

现要求从键盘输入全班一门课的成绩,输出该课程的平均分、及格人数及其百分比。

SUM=0

N=0

FORI=1TO45

INPUT“输入成绩”TOSCORE

SUM=SUM+SCORE

IFSCORE>=60

N=N+1

ENDIF

ENDFOR

?

“全班平均分为”,SUM/45

?

“及格人数为”,N

?

“及格率为”,N/45*100,“%”

19.编写程序输出所有满足以下条件的三位数:

它是9的倍数,且个位和十位上的数字之和等于百位上的数字。

FORI=100TO999

G=I%10

S=INT(I/10)%10

B=INT(I/100)

IFI%9=0ANDG+S=B

?

I

ENDIF

ENDFOR

20.编写程序输出以下图案(必须利用循环语句控制)

a

bbb

ccccc

ddddddd

ccccc

bbb

a

FORI=1TO4

?

?

SPACE(4-I)

FORJ=1TO2*I-1

?

?

CHR(96+I)

ENDFOR

?

ENDFOR

FORI=3TO1STEP-1

?

?

SPACE(4-I)

FORJ=1TO2*I-1

?

?

CHR(96+I)

ENDFOR

?

ENDFOR

21.编写子程序(或子函数)实现:

1+χ+2χ2+3χ3+…nχn

FUNCTIONJS

PARAN,X

S=1

FORI=1TON

S=S+I*X^I

ENDFOR

RETURNS

ENDFUNC

三、数组试题

22.设有十位评委给某选手打分,以去掉一个最高分和一个最低分后的平均分作为该选手的成绩。

试编写程序,要求从键盘输入评委的评分并存入到数组中,计算并输出选手的成绩。

DIMES(10)

FORI=1TO10

INPUT“输入成绩”TOS(I)

ENDFOR

FORI=1TO9

FORJ=I+1TO10

IFS(I)>S(J)

T=S(I)

S(I)=S(J)

S(J)=T

ENDIF

ENDFOR

ENDFOR

SUM=0

FORI=2TO9

SUM=SUM+S(I)

ENDFOR

?

“平均成绩为”,SUM/8

23.已有按从小到大的顺序排列的10个数,现输入一个数,要求插入到数列中。

插入后数列仍然按从小到大顺序排列。

DIMEA(11)

FORI=1TO10

INPUT"递增输入10个整数"TOA(I)

ENDFOR

INPUT"输入一个待插入整数"TOX

FORI=10TO1STEP-1

IFA(I)>X

A(I+1)=A(I)

ELSE

EXIT

ENDIF

ENDFOR

A(I+1)=X

FORI=1TO11

?

?

A(I)

ENDFOR

24.输入30位学生的成绩,统计并输出每个分数段的人数:

分数段按90分以上(含90分)、80~89分、70~79分、60~69分及60分以下(不含60分)划分。

DIMES(30)

FORI=1TO30

INPUT“输入成绩”TOS(I)

ENDFOR

STORE0TON5,N6,N7,N8,N9

FORI=1TO30

DOCASE

CASES(I)>=90

N9=N9+1

CASES(I)>=80

N8=N8+1

CASES(I)>=70

N7=N7+1

CASES(I)>=60

N6=N6+1

OTHERWISE

N5=N5+1

ENDCASE

ENDFOR

?

“90分以上的人数为”,N9

?

“80分到89分的人数为”,N8

?

“70分到79分的人数为”,N7

?

“60分到69分的人数为”,N6

?

“不及格的人数为”,N5

25.已知三个矩阵A(3×2)、B(2×4)、C(3×4),分别由数组A[3,2]、B[2,4]和C[3,4]表示,请编程实现矩阵乘法,即C=A×B(C(i,j)=A(i,1)×B(l,j)+A(i,2)×B(2,j))。

DIMEA(3,2),B(2,4),C(3,4)

FORI=1TO3

FORJ=1TO2

INPUT“输入数据”TOA(I,J)

ENDFOR

ENDFOR

FORI=1TO2

FORJ=1TO4

INPUT“输入数据”TOB(I,J)

ENDFOR

ENDFOR

FORI=1TO3

FORJ=1TO4

C(I,J)=A(I,1)*B(1,J)+A(I,2)*B(2,J)

ENDFOR

ENDFOR

FORI=1TO3

FORJ=1TO4

?

?

C(I,J)

ENDFOR

?

ENDFOR

26.有一个3×5的矩阵,试编写程序,要求从键盘上输入数据,求其中数值最大的那个元素,然后输出该元素值及其所在的行号和列号(不考虑数据有相同的情况)。

dimea(3,5)

fori=1to3

forj=1to5

input“输入数据”toa(i,j)

endfor

endfor

big=a(1,1)

row=1

col=1

fori=1to3

forj=1to5

ifa(i,j)>big

big=a(i,j)

row=i

col=j

endif

endfor

endfor

?

“最大数为”,big

?

“最大数所在行为”,row

?

“最大数所在列为”,col

27.编程求一个3×4数组的所有元素的平均值及最大值,并输出结果(设数组的各元素为实数,要求从键盘输入其值)。

DIMEA(3,4)

FORI=1TO3

FORJ=1TO4

INPUT“输入数据”TOA(I,J)

ENDFOR

ENDFOR

BIG=A(1,1)

SUM=0

FORI=1TO3

FORJ=1TO4

SUM=SUM+A(I,J)

IFA(I,J)>BIG

BIG=A(I,J)

ENDIF

ENDFOR

ENDFOR

?

“所有元素的平均值为”,SUM/(3*4)

?

“最大元素值为”,BIG

28.输入一个5×5矩阵,分别求两条对角线元素值之和,并输出结果。

(要求用循环结构实现)

DIMEA(5,5)

FORI=1TO5

FORJ=1TO5

INPUT“输入数据”TOA(I,J)

ENDFOR

ENDFOR

ZS=0

FS=0

FORI=1TO5

FORJ=1TO5

IFI=J

ZS=ZS+A(I,J)

ENDIF

IFI+J=6

FS=FS+A(I,J)

ENDIF

ENDFOR

ENDFOR

?

“主对角线上元素之和为”,ZS

?

“辅对角线上元素之和为”,FS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1