
PAT《C/C++/Java 程序设计基础》习题集
文章平均质量分 64
rabbit8848
这个作者很懒,什么都没留下…
展开
-
数组-11. 猴子选大王(20)
一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1-N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式: 输入在一行中给一个正整数N(输出格式: 在一行中输出当选猴王的编号。 输入样例:11原创 2014-10-23 08:31:35 · 1477 阅读 · 0 评论 -
分支-17. 统计学生成绩(15)
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。输入格式: 输入在第1行中给出1个正整数N(输出格式: 在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得原创 2014-07-07 12:09:36 · 5051 阅读 · 1 评论 -
分支-16. 计算分段函数(10)
本题目要求计算下列分段函数f(x)的值:注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。 输入格式: 输入在一行中给出实数x。 输出格式: 在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。 输入样例1:10输出样例1:f(10.00) = 3.16输入样例2:-0.原创 2014-07-07 12:00:25 · 4190 阅读 · 0 评论 -
循环-21. 求交错序列前N项和(15)
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中输出部分和的值,结果保留3位小数。输入样例:5输出样例:0.917程序:原创 2014-07-07 12:15:13 · 6198 阅读 · 0 评论 -
数组-10. 求整数序列中出现次数最多的数(15)
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式: 输入在一行中给出序列中整数个数N(0输出格式: 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4 3 0 3 2输出样例:3 4程序:原创 2014-06-14 16:36:20 · 8675 阅读 · 0 评论 -
数组-09. 求矩阵的局部极大值(15)
给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。输入格式: 输入在第1行中给出矩阵A的行数M和列数N(3输出格式: 每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行原创 2014-06-14 16:33:49 · 8983 阅读 · 0 评论 -
数组-04. 查找整数(10)
本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。输入格式: 输入在第1行中给出2个正整数N(输出格式: 在一行中输出X的位置,或者“Not Found”。 输入样例1:5 73 5 7 1 9输出样例1:2输入样例2:5 73 5 8 1 9输出样例2:Not Found原创 2014-06-14 16:24:48 · 6052 阅读 · 0 评论 -
循环-14. 最大公约数和最小公倍数(15)
本题要求两个给定正整数的最大公约数和最小公倍数。输入格式: 输入在一行中给出2个正整数M和N(输出格式: 在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292输出样例:73 2044程序:原创 2014-06-14 06:41:55 · 3327 阅读 · 0 评论 -
数组-03. 冒泡法排序(20)
将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N-1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(输入格式: 输入在第1行中给出N和K(1输出格式: 在一行中输出冒泡排序法扫描完第原创 2014-06-14 08:44:37 · 1897 阅读 · 0 评论 -
数组-01. 字符转换(15)
本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。输入格式: 输入在一行中给出一个不超过80个字符且以回车结束的字符串。 输出格式: 在一行中输出转换后的整数。题目保证输出不超过长整型范围。输入样例:free82jeep5输出样例:825原创 2014-06-14 08:41:47 · 3125 阅读 · 3 评论 -
循环-16. 猴子吃桃问题(15)
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式: 输入在一行中给出正整数N(1输出格式: 在一行中输出第一天共摘了多少个桃子。输入样例:3输出样例:10程序:原创 2014-06-14 08:36:28 · 1017 阅读 · 0 评论 -
循环-15. 统计素数并求和(20)
本题要求统计给定整数M和N区间内素数的个数并对它们求和。 输入格式: 输入在一行中给出2个正整数M和N(1输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143程序:原创 2014-06-14 08:34:13 · 2367 阅读 · 0 评论 -
循环-13. 求特殊方程的正整数解(15)
本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。输入格式: 输入在一行中给出正整数N(输出格式: 输出方程X2+Y2=N的全部正整数解,其中X输入样例1:884输出样例1:10 2820 22输入样例2:11输出样例2:No Solution程序:原创 2014-06-14 06:38:34 · 4173 阅读 · 1 评论 -
循环-12. 打印九九口诀表(15)
下面是一个完整的下三角九九口诀表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7原创 2014-06-14 06:36:29 · 6117 阅读 · 0 评论 -
循环-11. 水仙花数(20)
水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例 如:153 = 13 + 53+33。 本题要求编写程序,计算所有N位水仙花数。输入格式: 输入在一行中给出一个正整数N(3输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3输出样例:153370371407程序:原创 2014-06-14 06:33:56 · 4317 阅读 · 0 评论 -
数组-14. 数字加密(15)
输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。输入格式: 输入在一行中给出一个四位的整数x,即要求被加密的数。 输出格式: 在一行中按照格式“The encryp原创 2014-07-07 12:21:23 · 4069 阅读 · 2 评论 -
循环-20. 猜数字游戏(15)
猜数字游戏是令系统随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次原创 2014-06-14 08:38:52 · 1157 阅读 · 2 评论 -
数组-05. 字符串字母大小写转换(10)
输入一个以#结束的字符串,本题要求将小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其它字符不变。输入格式: 输入在一行中给出一个长度不超过40的、以#结束的非空字符串。 输出格式: 在一行中按照要求输出转换后的字符串。输入样例:Hello World! 123#输出样例:hELLO wORLD! 123程序:原创 2014-06-14 16:26:55 · 2451 阅读 · 0 评论 -
循环-27. 求给定序列前N项和之五(15)
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:6输出样例:sum = 2.450000输出样:原创 2014-09-25 07:41:41 · 1340 阅读 · 0 评论 -
循环-28. 求给定序列前N项和之六(15)
本题要求编写程序,计算序列21 + 22 + 23+ ...的前N项之和。输入格式:输入在一行中给出一个不超过30的正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的整数值S。输入样例:5输出样例:sum = 62输出样例:原创 2014-09-25 07:48:33 · 1413 阅读 · 0 评论 -
循环-24. 求给定序列前N项和之二(15)
本题要求编写程序,计算序列 1! + 2! + ... 的前N项之和。输入格式: 输入在一行中给出一个不超过12的正整数N。 输出格式: 在一行中输出整数结果。输入样例:5输出样例:153输出样例:原创 2014-09-12 09:39:52 · 1587 阅读 · 0 评论 -
循环-25. 求给定序列前N项和之三(15)
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:23输出样例:sum = 2.549541输出样例:原创 2014-09-12 10:12:37 · 1851 阅读 · 0 评论 -
循环-23. 找完数(20)
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。输入格式:输入在一行中给出2个正整数m和n(0输出格式:逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。输入样原创 2014-08-14 08:15:37 · 9694 阅读 · 0 评论 -
分支-20. 计算符号函数的值(10)
对于任一整数n,符号函数sign(n)的定义如下:请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。输入样例 1:10 输出样例 1:sign(10) = 1 输入样例 2:0 输出原创 2014-08-14 07:56:27 · 18204 阅读 · 0 评论 -
分支-19. 阶梯电价(15)
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留2位小数,格原创 2014-08-14 07:54:33 · 11201 阅读 · 1 评论 -
循环-22. 输出闰年(15)
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。输入格式:输入在一行中给出21世纪的某个截止年份。输出格式:逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。输入样例 1:2048输出样例 1:20042008201原创 2014-08-14 08:02:23 · 19364 阅读 · 2 评论 -
循环-26. 求给定序列前N项和之四(15)
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后3位。题目保证计算结果不超过双精度范围。输入样例:10输出样例:sum = 0.819原创 2014-09-19 09:27:49 · 2148 阅读 · 1 评论 -
分支-18. 求一元二次方程的根(20)
本题目要求一元二次方程 a*x2+b*x+c=0 的根,结果保留2位小数。输入格式:输入在一行中给出3个浮点系数a, b, c,中间用空格分开。输出格式:根据系数情况,输出不同结果:1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;3)如果方程只原创 2014-08-22 12:09:32 · 9436 阅读 · 1 评论 -
数组-08. 字符串转换成十进制整数(15)
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果过滤后字符串的首字符为“-”,代表该数是负数。输入格式: 输入在一行中给出一个以#结束的非空字符串。 输出格式: 在一行中输出转换后的十进制数。题目保证输出在长整型范围内。 输入样例:+P-xf4+-1!#输出样例:-3原创 2014-07-08 05:48:01 · 5635 阅读 · 0 评论 -
数组-02. 打印杨辉三角(20)
本题要求按照规定格式打印前N行杨辉三角。输入格式: 输入在一行中给出N(1输出格式: 以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例:6输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10原创 2014-06-15 08:54:13 · 2861 阅读 · 2 评论 -
数组-07. 求一批整数中出现最多的个位数字(20)
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入格式: 输入在第1行中给出正整数N(输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。原创 2014-06-14 16:31:39 · 5112 阅读 · 0 评论 -
数组-06. 找出不是两个数组共有的元素(20)
给定两个整型数组,本题要求找出不是两者共有的元素。输入格式: 输入分别在2行中给出2个整型数组,每行先给出正整数N(输出格式: 在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。输入样例:10 3 -5 2 8 0 3 5 -15 9 10011 6 4 8 2 6 -5 9原创 2014-06-14 16:29:18 · 5790 阅读 · 1 评论 -
循环-10. 求序列前N项和(15)
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中输出部分和的值,精确到小数点后2位。题目保证计算结果不超过双精度范围。输入样例:20输出样例:32.66程序:原创 2014-06-14 06:31:04 · 1442 阅读 · 0 评论 -
结构-05. 有理数均值(20)
本题要求编写程序,计算N个有理数的平均值。输入格式: 输入第1行给出正整数N(<=100);第2行中按照“a1/b1 a2/b2 ……”的格式给出N个分数形式的有理数,其中分子和分母全是整型范围内的整数;如果是负数,则负号一定出现在最前面。输出格式: 在一行中按照“a/b”的格式输出N个有理数的平均值。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。 输入样例1原创 2014-06-12 19:36:15 · 3380 阅读 · 0 评论 -
字符串-03. 字符串的冒泡排序(20)
我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(输入格式: 输入在第1行中给出N和K(1输出格式: 输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。 输入样例:6 2bestcateastafreeday输出样例:bestacatdayeastfree原创 2014-06-12 19:12:52 · 3995 阅读 · 0 评论 -
循环-04. 验证“哥德巴赫猜想”(20)
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入格式: 输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。 输出格式: 在一行中按照格式“N = p + q”输出N的素数分解,其中p <= q均为原创 2014-06-10 17:44:59 · 3397 阅读 · 0 评论 -
分支-09. 分段计算居民水费(10)
为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x-17.5。请编写程序实现水费的计算。输入格式: 输入在一行中给出非负实数x。 输出格式: 在一行输出应交的水费,精确到小数点后2位。 输入样例1:12输出样例1:16.00输入样例2:16输出样例原创 2014-06-10 06:54:19 · 2437 阅读 · 2 评论 -
分支-08. 高速公路超速处罚(15)
按照规定,在高速公路上行使的机动车,超出本车道限速的10%则处200元罚款;若超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。输入格式: 输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。 输出格式: 在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则原创 2014-06-10 06:51:53 · 2083 阅读 · 0 评论 -
分支-07. 比较大小(10)
本题要求将输入的任意3个整数从小到大输出。输入格式: 输入在一行中给出3个整数,其间以空格分隔。 输出格式: 在一行中将3个整数从小到大输出,其间以“->”相连。 输入样例:4 2 8输出样例:2->4->8程序:原创 2014-06-10 06:48:56 · 6827 阅读 · 2 评论 -
IO-01. 表格输出(5)
本题要求编写程序,按照规定格式输出表格。输入格式: 本题目没有输入。 输出格式: 要求严格按照给出的格式输出下列表格:------------------------------------Province Area(km2) Pop.(10K)------------------------------------Anhui 139600原创 2014-06-09 23:08:19 · 1194 阅读 · 0 评论