PASCAL练习题.docx
《PASCAL练习题.docx》由会员分享,可在线阅读,更多相关《PASCAL练习题.docx(19页珍藏版)》请在冰豆网上搜索。
![PASCAL练习题.docx](https://file1.bdocx.com/fileroot1/2023-6/21/4c3ab4f1-41a6-4695-a883-d1dceca04c9f/4c3ab4f1-41a6-4695-a883-d1dceca04c9f1.gif)
PASCAL练习题
PASCAL练习题
PASCAL练习题
序号题目难度完成数
1计算路程1672摄氏温度转华氏温度1653求一元二次方程的根2654成绩评定2665商场折扣2686倒数数列和3577阶乘和3578求最大值和最小值3629菲波拉契数列35410求素数34711百钱买百鸡36312水仙花数36213计算π的值35514最大公约数和最小公倍数45815完数46116亲密数对45517奖学金认定25918计算年龄26119汽车时速计算35320猴子吃桃问题45421验证哥德巴赫猜想43522钞票兑换34423成绩评定222524聪明的猪41425插入排序4726约瑟夫问题51627不重复的随机数41328侦察任务31029猜数游戏21830因式分解41131砝码选择3432电灯开闭3633追查凶手3434十进制转二进制31535分糖21636贮油点5337运动会成绩统计4538等式填空31539验证尼科彻斯定理41040回文字符串21741中缀表达式转后缀表达式5742二叉树的遍历31343留学生应会的语言3144绝对素数2045互不相同的七位完全平方数3046求数字的乘积根5047纯粹素数3058完全平方数4049十六进制数转十进制数2050楼梯的不同走法5051计数排序3052厄拉多赛筛法求素数2053杨辉三角形3054打印图形2055扑克分发3056统计单词个数4057二叉排序树2058按比例组数3059数字三角形4060最佳字符编码401.计算路程
【题目描述】
从键盘输入速度v和时间t,要求计算路程s。
2.摄氏温度转华氏温度
【题目描述】
读入摄氏温度c,将它转换成华氏温度f输出,写出程序。
已知:
f=9/5*c+323.求一元二次方程的根
【题目描述】
输入a,b,c,求一元二次方程ax2+bx+c=0的根。
4.成绩评定
【题目描述】
输入某学生成绩,若成绩在85分及以上,输出"A";若成绩在60分到85分之间,输出"P";若成绩低于60分,输出"E"。
5.商场折扣
【题目描述】
某商场近期搞优惠活动,优惠办法如下:
购物不足250元的,没有折扣;
购物满250元(含250,下同)不足500元的,减价5%;
购物满500元不足1000元的,减价10%;
购物满1000元不足2000元的,减价15%;
购物满2000元的,减价20%。
输入货款,计算顾客实际应付的金额。
6.倒数数列和
【题目描述】
计算表达式的值:
s=1-1/2+1/3-1/4+…+1/99-1/100
【解题指导】
结果应该等于6.881721793101957E-0017.阶乘和
【题目描述】
计算表达式的值:
s=1!
+2!
+3!
+…+n!
,其中n由键盘输入。
8.求最大值和最小值
【题目描述】
输入10个数,求出其中的最大值和最小值。
【解题指导】
利用两个变量max,min,与每个数进行比较,记录比较结果。
注意要考虑max和min的初值该如何设置?
9.菲波拉契数列
【题目描述】
求出菲波拉契数列的前n项,其中n由键盘输入,要求每项之间以空格隔开。
【解题指导】
空格隔开的办法是输出数字时加上一个空格项即可,必须注意的是当输入的n较大时,结果的数字可能会很大,所以变量类型的范围应尽可能大
10.求素数
【题目描述】
求出2~100之间的所有素数,输出时每个数用空格隔开。
11.百钱买百鸡
【题目描述】
我国古代数学家在《算经》中出了一道题:
"鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡,问鸡翁、母、雏各几何?
"意为:
公鸡每只5元,母鸡每只3元,小鸡3只1元。
用100元钱买100只鸡,问公鸡、母鸡、小鸡各多少?
12.水仙花数
【题目描述】
求水仙花数(若三位数abc,a*a*a+b*b*b+c*c*c=abc,则称abc为水仙花数。
例如153,1*1*1+5*5*5+3*3*3=153,则153是一个水仙花数),输出时要求每行一个水仙花数。
13.计算π的值
【题目描述】
利用下列公式计算并输出π的值:
π/4=1-1/3+1/5-1/7+.+1/(4n-3)-1/(4n-1)n=1000014.最大公约数和最小公倍数
【题目描述】
输入两个整数,求出它们的最大公约数和最小公倍数。
15.完数
【题目描述】
求2-1000中的完数(因子和等于它本身的数为完数。
例如28的因子是1,2,4,7,14,且1+2+4+7+14=28,则28为完数)
16.亲密数对
【题目描述】
找2-1000中的亲密数对(如果a的因子和等于b,b的因子和等于a,且a≠b,则称a,b为亲密数对)
17.奖学金认定
【题目描述】
某校一等奖学金认定办法如下:
⑴所考五门课成绩总分超过450分;
⑵每门课都在88分以上;
⑶前3门课(主课)每门成绩都在95以上,其他2门(非主课)每门成绩在80分以上。
凡满足上面任意一个条件都可认定为一等奖学金。
键盘输入某学生的5门课成绩,判定他是否能获得一等奖学金,如能输出'Y',否则输出'N'。
18.计算年龄
【题目描述】
小红今年12岁,她父亲比她大20岁,编一程序,计算出她的父亲在几年后比她年龄大一倍。
那时他们的年龄各为多少?
19.汽车时速计算
【题目描述】
一辆以固定速度行驶的汽车,清晨司机看到里程表上从左到右的读数和从右到左的读数是相同的,这个数是95859,7小时后,里程表上又出现一个新的对称数。
问此车的时速是多少(是一整数)?
这个新的对称数是什么?
设里程表为5位数字。
20.猴子吃桃问题
【题目描述】
小猴子第一天摘下一批桃子,立即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上猴子吃桃时,发现只剩下一个桃子了。
问第一天猴子共摘了多少个桃子?
21.验证哥德巴赫猜想
【题目描述】
所谓哥德巴赫猜想是指任意一个充分大的偶数(≥4)都可以拆成两个质数的和。
例如4=2+2,20=3+17等。
要求输入任意一个数,先判断它是不是大于等于4的偶数,是的话就进行哥德巴赫猜想验证,否则输出"InputError!
"的提示并要求用户重新输入。
样例:
输入20
输出20=3+17
【解题指导】
判断输入是否有误并提示重输可以使用While或Repeat循环来实现,具体哥德巴赫猜想可以这样来做,把输入的数a拆成任意两个数p,q的和,比如p=2,则q=a-2,利用质数判断程序来判断p,q是否为质数,如果都是则输出结果,否则令p增加1再进行重复判断。
22.钞票兑换
【题目描述】
要将一张100元的大钞票,换成等值的10元、5元、2元、1元一张的小钞票,要求每次换成40张小票,每种至少一张。
编程输出所有可能的换法,程序应当考虑减少重复的次数,输出每要求每种可能的换法占一行,每张面值之间用空格隔开。
例如:
5555
23.成绩评定2
【题目描述】
依次输入10个学生的成绩,计算每个学生的成绩与平均成绩的差,并由此给出每个学生成绩的字母等级。
如果成绩高于平均成绩10分以上为A等,与平均成绩相差在10分以内为B等,其余为C等。
最后输出每个学生的编号,成绩和字母等级,每个学生占一行。
24.聪明的猪
【题目描述】
某屠宰场杀猪有一习惯,把每天要杀的n头猪按顺序排成一排,将排在单号位置的猪杀掉;然后把剩下的猪按上一次相对的位置排好,重新编号后再将排在单号位置的猪杀掉,重复前面的过程,直到剩下一头猪时停止杀猪,将这头猪放回,等待明天再杀。
有一头聪明的猪摸准了这个规律,事先找好位置,使得它每天都不会被杀。
求当总共有n头猪时,这个聪明的猪应该站在什么位置?
(n由键盘输入)
【解题指导】
采用数组存储猪的编号,即初始时利用循环语句令a[i]=i,接下来开始模拟杀猪过程,每次杀猪时,奇数位置的猪都被杀掉,偶数位置的猪重新编号,可以令a[i]=a[i]*2表示偶数的猪重新编号的情况,一次杀猪过程完后,猪的数量应该只剩n头了,以这n头猪为新的n重新杀猪,如此下去,直到n=1就表示只剩最后一头猪了。
25.插入排序
【题目描述】
以任意次序读入10个数,将第一个数放入数组的第一个元素中。
以后读入的数应与已存入数组中的是数进行比较,确定它在从小到大的排列中所应处的位置。
将该位置及其后面的元素向后推移一个位置,将新读入的数据填入空出的位置中。
这样数组中的数总是从小到大排列的。
10个数据处理完后输出数组。
26.约瑟夫问题
【题目描述】
编号为1,2,.,n的n个人按照顺时针方向围坐一圈。
从第一个人开始顺时针方向自1开始报数,报到m时停止报数。
报m的人出列,从他在顺时针方向的下一个人开始重新报数,如此下去,直到所有人全部出列为止。
设计一个程序来求出出列顺序。
其中n,m由键盘输入。
27.不重复的随机数
【题目描述】
随机数产生时通常会有重复,现要求产生20个100以内的保证不重复的随机数存入数组,最后按从小到大的顺序输出这个数组,要求输出在同一行,每个元素之间用空格隔开。
28.侦察任务
【题目描述】
某侦察队长接到一项紧急任务,要他在代号为A,B,C,D,E,F的六个侦察对员中选出若干人去侦察一件案子。
由于每个侦察队员特长不同,针对这个案子,所需的人选必须注意以下几个条件:
⑴A,B两人至少去一人;
⑵A,D不能一起去;
⑶若D不去,则E也不去;
⑷B,C两人都去或都不去;
⑸C、D两人中去一人;
⑹A、E、F三人中要派两人去。
请问应该让谁去?
29.猜数游戏
【题目描述】
让计算机产生一个1000以内的随机整数,从键盘上输入一个自然数,若正确,则输入猜对的提示,否则提示输入的数是大了还是小了。
最后输出所猜的次数。
30.因式分解
【题目描述】
输入正整数a,对它进行质因式分解。
例如:
输入:
20
输出:
20=2*2*531.砝码选择
【题目描述】
用物理天平测量物体的质量时,测得物体的质量为a克(a为整数,并小于1千克),问:
这时在天平的砝码盘中应有哪几个砝码?
请选用最少数量的砝码(天平的砝码由下列质量的砝码组成:
500克1个,200克1个,100克2个,50克1个.20克1个,10克2个,5克1个,2克2个,1克1个)。
32.电灯开闭
【题目描述】
设有n盏灯,放在一排,从1~n依次顺序编号。
有n个人也从1到n依次编号。
第1个人(1号)将灯全部关闭,第2个人(2号)将凡是2的倍数的打开,第3个人(3号)将凡是3的倍数的灯做相反处理(该灯如为打开的,则将它关闭,如关闭的则将它开),以后的人都和3号一样,将凡是自己号数倍数灯做相反处理。
键盘输入n,输出最后还亮着的灯的编号,每个编号之间用空格隔开。
【解题指导】
可以设亮灯为True,关闭为False
当n=10时,亮着的灯为2356781033.追查凶手
【题目描述】
有一推理题:
警官在死者被害现场发现A、B、C、D四名犯罪嫌疑人。
讯问中,A说"我没有杀人",B说"C是凶手",C说"杀人者肯定是D",D说"C在冤枉好人"。
现已知:
四人中有三人说的是真话,一人说的是假话,四名犯罪嫌疑人中有且只有一人是凶手。
请编程判断到底谁是真正的凶手。
【解题指导】
穷举法,对三个人的话利用逻辑表达式表示,判断是否三个是TURE,一个是FALSE。
34.十进制转二进制
【题目描述】
输入一个十进制整数,输入对应的二进制数
【解题指导】
除二取余
35.分糖
【题目描述】
一堆糖分给一群小孩,每人二粒则多一粒,每人三粒则多了二粒,每人四粒则多了三粒,每人五粒则正好分完。
问:
这堆糖至少有几粒?
36.贮油点
【题目描述】
一辆重型卡车欲穿过1000公里的沙漠,卡车耗汽油为1升/公里,卡车总载油能力为500公升。
显然卡车装一次油是过不了沙漠的。
因此司机必须设法在沿途建立若干个贮油点,使卡车能顺利穿过沙漠。
试问司机怎样建立这些贮油点?
每一贮油点应存储多少油才能使卡车以消耗最少汽油的代价通过沙漠?
输出格式如下:
No.Distance(km)Oil(litre)
1xxxx2xxxx
.
【解题指导】
倒推法
37.运动会成绩统计
【题目描述】
某次运动会上,八位运动员的100M比赛成绩(单位:
秒)如下:
运动员号码(Number)100M比赛成绩(Score)
86012.757611.330113.545512.610212.037711.002312.553013.2
要求按100M比赛成绩(score)排序,显示出前三名运动员的号码和成绩。
【解题指导】
最好利用记录类型存储运动员信息
38.等式填空
【题目描述】
在下面式子中的二个□内填入一个合适的同样的数字,使等式成立。
□3*6528=3□*8256
最后要求输出整个完整的等式。
39.验证尼科彻斯定理
【题目描述】
任何一个正整数的立方都可以写成一组相邻奇数之和。
如:
33=7+9+11=2743==13+15+17+19=64
这就是尼科彻斯定理,请编写程序验证该定理,输出任意整数,输出格式参考下面的样例:
输入:
4
输出:
4(3)=13+15+17+19=64
【解题指导】
从枚举的式子中我们可以找到一个规律,即n的立方是n个相邻奇数之和,我们可以把n的立方拆成n个n的平方相加来完成,接下来问题就迎刃而解了。
40.回文字符串
【题目描述】
输入任意一个字符串,判断它是不是回文字符串。
所谓回文字符串就是一个字符串跟它的逆转字符串是一样的,例如:
abcdcba就是一个回文字符串。
41.中缀表达式转后缀表达式
【题目描述】
平常我们书写的表达式称为中缀表达式,因为它将运算符放在两个操作数中间,许多情况下为了确定运算顺序,括号是不可少的,而后缀表达式就不必用括号了。
后缀标记法:
书写表达式时采用运算紧跟在两个操作数之后,从而实现了无括号处理和优先级处理,使计算机的处理规则简化为:
从左到右顺序完成计算,并用结果取而代之。
例如:
8–(3+2*6)/5+4可以写为:
8326*+5/–4+
编写一个程序,完成这个转换。
输入就一行,是一个中缀表达式。
输入的符号中只有这些基本符号"0123456789+-*/^()",并且不会出现形如2*-3的格式。
表达式中的基本数字也都是一位的,不会出现形如12形式的数字。
要求输出的每一个数据间都留一个空格。
【解题指导】
利用栈进行转换
42.二叉树的遍历
【题目描述】
输入一棵二叉树,输出该树的先根前序、中序、后序遍历结果。
输入:
顶点个数n(1≤n≤200)
以下含n行,其中第i行(1≤i≤n)的元素依次为结点i的数据值ai、结点i的左儿子、右儿子编号,编号若为0则表示没有。
输出:
共三行,第一行为该二叉树的前序遍历结果,第二行为该二叉树的中序遍历结果,第三行为该二叉树的后序遍历结果。
【样例】
输入
13r23
a45b67
w00x80
s90t010d110
i1213u00
h00m00
n00
输出:
rawxdhbsimntuwahdxrminsbtuwhdxamnisutbr43.留学生应会的语言
【题目描述】
来自不同国家的四位留学生A,B,C,D在一起交谈,他们只会中、英、法、日四种语言中的2种,情况是,没有人既会日语又会法语;A会日语,但D不会,A和D能互相交谈,B不会英语,但A和C交谈时却要B当翻译,B,C,D三个想互相交谈,但不到共同的语言,只有一种语言3人都会,请编程确定A,B,C,D四位留学生各会哪两种语言。
【解题指导】
巧妙利用集合类型和枚举类型可以有效的解决判断和麻烦!
44.绝对素数
【题目描述】
如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13。
求出100以内的绝对素数。
45.互不相同的七位完全平方数
【题目描述】
1267*1267=1605289,表明等式右边是一个七位的完全平方数,而这七个数字互不相同。
编程求出所有这样的七位数。
46.求数字的乘积根
【题目描述】
正整数的数字乘积这样规定:
这个正整数中非零数字的乘积。
例如整数999的数字乘积为9*9*9,得到729;729的数字乘积为7*2*9,得到126;126的数字乘积为1*2*6,得到12;12从数字乘积为1*2,得到2。
如此反复取数字的乘积,直至得到一位数字为止。
999的数字乘积根是2。
编程输入一个长度不超过100位数字的正整数,打印出计算数字乘积根的每一步结果。
输出格式如下:
(N=3486784401)
34867844015160961620122
【解题指导】
把数字作为字符串输入,利用ord(ch)-ord('0')的形式进行数字和字符的转换。
47.纯粹素数
【题目描述】
一个素数,去掉最高位,剩下的数仍是素数;再去掉剩下的数的最高位,余留下来的数还是素数,这样的素数叫纯粹素数。
求所有三位数的纯粹素数。
48.完全平方数
【题目描述】
自然数4,9,16,25等叫做完全平方数,因为22=4,32=9,42=16,52=25,当某一对自然数相加和相减,有时可各得出一个完全平方数。
例如:
8与17这对自然数:
17+8=2517-8=9
试编程,找出所有小于100的自然数对,当加和减该数对时,可各得出一个完全平方数。
49.十六进制数转十进制数
【题目描述】
设计一个将十六进制数转换为十进制数的程序,输入的十六进制字母数字可以是大写或小写,转换前须对输入的十六进制进行判断,检查其是否符合规范。
【解题指导】
可以利用Case变量of.End的结构进行判断
50.楼梯的不同走法
【题目描述】
楼梯有N级台阶,上楼可以一步上一阶,也可以一步上二阶。
编一递归程序,计算共有多少种不同走法?
【解题指导】
我们可以这样来考虑,对于第N级台阶来说,要么它是从N-1级台阶跨过来的,要么是从N-2级台阶跨过来的,以此建立数学关系式即可看出递归的解决办法了。
51.计数排序
【题目描述】
利用随机函数产生十万个整数,数值范围在1-1000之间,然后对随机产生的整数从小到大进行排序。
最后输出排序后的数字,要求每个数字以空格隔开,结果输入到一个文本文件中,文件名为"number.txt"。
52.厄拉多赛筛法求素数
【题目描述】
以前我们学习的求素数方法是利用循环反复除来判断,效率比较低,厄拉多赛筛法提供了一种新的求素数的思路,效率大大提高。
其原理是这样的:
先把要求素数范围内的所有数放入一个筛子中(在PASCAL中可以用集合代替),在筛子中取最小元素,把此数添加到素数集合中,然后将筛子中此数的所有倍数筛去,按照这个规则做下去,直到筛子筛子为空为止。
53.杨辉三角形
【题目描述】
所谓杨辉三角形就是具有如下特征的三角形
111121
1331
1464115101051
分析杨辉三角形的规律和特点,要求输入n,输出具有n层的杨辉三角形。
54.打印图形
【题目描述】
输入n,按要求输出图形,当n=4时,输出的图形如下:
1121123211234321123211211
55.扑克分发
【题目描述】
现有52张扑克牌(不含大小王),随机分发给4个玩家,输出分四行,每行一个玩家的所有牌按大小花色顺序(从小到大,花色按黑桃-红桃-梅花-方块的顺序)排列整齐。
输出时花色请用B,R,M,F分别表示黑桃,红桃,梅花,方块四种花色,以下是一个玩家可能的牌的实例:
play1:
BAR2F3F4M5B6R7R8F9B10RJRQRK56.统计单词个数
【题目描述】
输入一篇英文文章,统计其中出现的单词个数,输出重复出现次数最多的前三个单词。
文章从文件输入,英文单词之间用空格或标点格开,标点符号只有","和"."。
以下是一篇典型的英文文章:
Morethan10yearsago,itwasdifficulttobuyatastypineapple.ThefruitsthatmadeittotheUKweregreenontheoutsideand,moreoftenthannot,hardwithanunpleasanttastewithin.Thenin1996,theDelMonteGoldpineappleproducedinHawaiifirsthitourshelves.
Thenewtypeofpineapplelookedmoreyellowy-goldthangreenItwasslightlysofterontheoutsideandhadalotofjuiceinside.Butthemostimportantthingaboutthisnewtypeofpineapplewasthatitwastwiceassweetasthehit-and-misspineappleswehadknown.Innotime,theDelMonteGoldtookthemarketbystorm,rapidlybecomingtheworld'sbest-sellingpineapplevariety,anddeliveringnaturallevelsofsweetnessinthemouth,upuntilthenonlyfoundintinnedpineapple.
Innutritionitwasallgoodnewstoo.Thisnice-tastingpineapplecontainedfourtimesmorevitaminCthantheoldgreenvariety.Nutritionistssaidthatitwasnotonlyfullofvitamins,butalsogoodagainstsomediseases.Peoplewereunderstandablyeagertobeabletobuythiswonderfulfruit.ThenewtypeofpineapplewassellingfastandtheDelMonteGoldpineapplerapidlybecameafixtureintheshoppingbasketofthehealthyeater.
Seeingthegrowingmarketforitswinningpineapple,DelMontetriedtokeepthemarkettoitselfButotherfruitcompaniesdevelopedsimilarpineapples.DelMonteturnedtolawforhelp,butfailed.ThosecompaniesarguedsuccessfullythatDelMo