PTA练习笔记
ML_GearYe
小猴子ฅ(˘ω˘ )ฅ上学记
展开
-
4-2-6 找完数 (20分)
4-2-6找完数(20分)所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。输入格式:输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。输出格式:逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。输入样例..原创 2020-10-24 22:15:11 · 928 阅读 · 0 评论 -
4-2-5 输出三角形字符阵列 (15分)
4-2-5输出三角形字符阵列(15分)本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。输入格式:输入在一行中给出一个正整数n(1≤n<7)。输出格式:输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。输入样例:4输出样例:A B C D E F G H I J 解答:#include <stdio.h>int main(){ char M='A'; ...原创 2020-08-24 00:10:59 · 306 阅读 · 0 评论 -
4-2-4 水仙花数 (20分)
4-2-4水仙花数(20分)水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤7)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3输出样例:153370371407解答:#include <stdio.h>#include <math...原创 2020-08-24 00:10:13 · 284 阅读 · 0 评论 -
4-2-3 换硬币 (20分)
4-2-3换硬币(20分)将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。输入样例:13输出样例:fen5:2, fen2:..原创 2020-08-24 00:09:14 · 308 阅读 · 0 评论 -
4-2-2 验证“哥德巴赫猜想” (20分)
4-2-2验证“哥德巴赫猜想”(20分)数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入格式:输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。输出格式:在一行中按照格式“N = p + q”输出N的素数分解,其中p≤q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所...原创 2020-08-24 00:08:28 · 541 阅读 · 0 评论 -
4-2-1 求e的近似值 (15分)
4-2-1求e的近似值(15分)自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!+⋯来近似计算。本题要求对给定的非负整数n,求该级数的前n+1项和。输入格式:输入第一行中给出非负整数n(≤1000)。输出格式:在一行中输出部分和的值,保留小数点后八位。输入样例:10输出样例:2.71828180解答:#include<stdio.h>int main(){ int n,i; double e,su...原创 2020-08-24 00:07:35 · 618 阅读 · 0 评论 -
4-1-9 高空坠球 (20分)
4-1-9高空坠球(20分)皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。输入样例:33 5输出样例:94.9 1.0解..原创 2020-08-24 00:06:34 · 1671 阅读 · 0 评论 -
4-1-8 求给定精度的简单交错序列部分和 (15分)
4-1-8求给定精度的简单交错序列部分和(15分)本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例1:4E-2输出样例1:sum = 0.854457输入样例2:0.02输出样例2:sum ..原创 2020-08-24 00:05:12 · 321 阅读 · 0 评论 -
4-1-7 特殊a串数列求和 (20分)
4-1-7特殊a串数列求和(20分)给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。输入格式:输入在一行中给出不超过9的正整数a和n。输出格式:在一行中按照“s = 对应的和”的格式输出。输入样例:2 3输出样例:s = 246解答:#include<stdio.h>int main(){ int a,n; scanf("%d %d",&a,&n); ..原创 2020-08-24 00:03:57 · 197 阅读 · 0 评论 -
4-1-5 韩信点兵 (10分)
4-1-5韩信点兵(10分)在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1; 再按从1至6报数,记下最末一个士兵报的数为5; 再按从1至7报数,记下最末一个士兵报的数为4; 最后按从1至11报数,最末一个士兵报的数为10;请编写程序计算韩信至少有多少兵。输入格式:..原创 2020-08-24 00:02:57 · 268 阅读 · 0 评论 -
4-1-6 求分数序列前N项和 (15分)
4-1-6求分数序列前N项和(15分)本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。输入样例:20输出样例:32.66解答:#include<stdio.h>int main(){ int ..原创 2020-08-24 00:03:06 · 253 阅读 · 0 评论 -
4-1-3 找出最小值 (20分)
4-1-3找出最小值(20分)本题要求编写程序,找出给定一系列整数中的最小值。输入格式:输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。输出格式:在一行中按照“min = 最小值”的格式输出n个整数中的最小值。输入样例:4 -2 -123 100 0输出样例:min = -123解答:#include<stdio.h>int main(){ int n,i,x,y; scanf("%d %d",&..原创 2020-08-23 23:58:16 · 188 阅读 · 0 评论 -
4-1-2 求奇数和 (10分)
4-1-2求奇数和(10分)读入一批正整数(以零或负数为结束标志),求其中的奇数和。输入格式:在一行中读入一批正整数(以零或负数为结束标志)。输出格式:对每一组输入,在一行中输出其中的奇数和。输入样例:1 3 90 7 0输出样例:11解答:#include<stdio.h>int main(){ int a,b; b=0; int i; for ( ; ;i++){ scanf("..原创 2020-08-23 23:57:12 · 1360 阅读 · 0 评论 -
4-1-1 最大公约数和最小公倍数 (15分)
4-1-1最大公约数和最小公倍数(15分)本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292输出样例:73 2044解答:#include<stdio.h>int main(){ int x,y,a,b,c,M,N; scanf("%d %d",&...原创 2020-08-23 23:56:04 · 253 阅读 · 0 评论 -
3-8 高速公路超速处罚 (15分)
3-8高速公路超速处罚(15分)按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。输入格式:输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。输出格式:在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中..原创 2020-08-23 23:54:33 · 382 阅读 · 0 评论 -
3-7 三天打鱼两天晒网 (15分)
3-7三天打鱼两天晒网(15分)中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式:输入在一行中给出一个不超过1000的正整数N。输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。输入样例1:103输出样例1:Fishing in day 103输入样例2:34输出样例2:..原创 2020-08-23 23:53:29 · 264 阅读 · 0 评论 -
3-6 输出三角形面积和周长 (15分)
3-6输出三角形面积和周长(15分)本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。输入格式:输入为3个正整数,分别代表三角形的3条边a、b、c。输出格式:如果输入的边能构成一个三角形,则在一行内,按照area = 面积; perimeter = 周长的格式输出,保留两位小数。否则,输出Th..原创 2020-08-23 23:52:08 · 187 阅读 · 0 评论 -
3-6 输出三角形面积和周长 (15分)
3-6输出三角形面积和周长(15分)本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。输入格式:输入为3个正整数,分别代表三角形的3条边a、b、c。输出格式:如果输入的边能构成一个三角形,则在一行内,按照area = 面积; perimeter = 周长的格式输出,保留两位小数。否则,输出Th..原创 2020-08-23 23:49:38 · 493 阅读 · 0 评论 -
3-5 统计学生成绩 (15分)
3-5统计学生成绩(15分)本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。输入格式:输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。..原创 2020-08-22 20:48:25 · 976 阅读 · 1 评论 -
3-4 计算个人所得税 (10分)
3-4计算个人所得税(10分)假设个人所得税为:税率×(工资−1600)。请编写程序计算应缴的所得税,其中税率定义为:当工资不超过1600时,税率为0; 当工资在区间(1600, 2500]时,税率为5%; 当工资在区间(2500, 3500]时,税率为10%; 当工资在区间(3500, 4500]时,税率为15%; 当工资超过4500时,税率为20%。输入格式:输入在一行中给出非负工资。输出格式:在一行输出个人所得税,精确到小数点后2位。输入样例1:1600..原创 2020-08-22 20:45:33 · 688 阅读 · 0 评论 -
3-3 查询水果价格 (15分)
3-3查询水果价格(15分)给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。首先在屏幕上显示以下菜单:[1] apple[2] pear[3] orange[4] grape[0] exit用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。输入..原创 2020-08-22 20:40:22 · 750 阅读 · 0 评论 -
3-2 统计字符 (15分)
3-2统计字符(15分)本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入格式:输入为10个字符。最后一个回车表示输入结束,不算在内。输出格式:在一行内按照letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数的格式输出。输入样例:aZ &09 Az输出样例:letter = 4, blank = 3, digit = 2,..原创 2020-08-22 20:37:09 · 291 阅读 · 0 评论 -
3-1 计算符号函数的值 (10分)
3-1计算符号函数的值(10分)对于任一整数n,符号函数sign(n)的定义如下:请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。输入样例1:10输出样例1:sign(10) = 1输入样例2:0输出样例2:sign(0) = 0输入样例3:-98输出样例3:sign(-98) = -1解答:..原创 2020-08-22 20:35:27 · 272 阅读 · 0 评论 -
2-4-4 简单实现x的n次方 (10分)
2-4-4简单实现x的n次方(10分)本题要求实现一个计算xn(n≥0)的函数。函数接口定义:double mypow( double x, int n );函数mypow应返回x的n次幂的值。题目保证结果在双精度范围内。裁判测试程序样例:#include <stdio.h>double mypow( double x, int n );int main(){ double x; int n; scanf("%lf %d..原创 2020-08-22 20:33:16 · 497 阅读 · 0 评论 -
2-4-6 求组合数 (15分)
2-4-6求组合数(15分)本题要求编写程序,根据公式Cnm=m!(n−m)!n!算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数m和n(m≤n),以空格分隔。输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。输入样例:2 7输出样例:result = 21解答:..原创 2020-08-22 20:30:51 · 554 阅读 · 0 评论 -
2-4-5 求幂之和 (15分)
2-4-5求幂之和(15分)本题要求编写程序,计算sum=21+22+23+⋯+2n。可以调用pow函数求幂。输入格式:输入在一行中给出正整数n(≤10)。输出格式:按照格式“result = 计算结果”输出。输入样例:5输出样例:result = 62解答:#include<stdio.h>#include<math.h>int main(){ int i,a,b,j; a=0;..原创 2020-08-22 20:28:42 · 274 阅读 · 0 评论 -
2-4-2 求平方根序列前N项和 (15分)
2-4-2求平方根序列前N项和(15分)本题要求编写程序,计算平方根序列√1+√2+√3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。输入样例:10输出样例:sum = 22.47解答:#include<stdio.h>#includ..原创 2020-08-22 20:21:51 · 195 阅读 · 0 评论 -
2-4-1 生成3的乘方表 (15分)
2-4-1生成3的乘方表(15分)输入一个非负整数n,生成一张3的乘方表,输出30~3n的值。可调用幂函数计算3的乘方。输入格式:输入在一行中给出一个非负整数n。输出格式:按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。输入样例:3输出样例:pow(3,0) = 1pow(3,1) = 3pow(3,2) = 9pow(3,3) = 27解答:#include&..原创 2020-08-21 05:46:25 · 250 阅读 · 0 评论 -
2-3-7 求平方与倒数序列的部分和 (15分)
2-3-7求平方与倒数序列的部分和(15分)本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。输入格式:输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例:5 10输出样例:sum = 355.845635解答:#include<..原创 2020-08-21 05:44:54 · 204 阅读 · 0 评论 -
2-3-6 求交错序列前N项和 (15分)
2-3-6求交错序列前N项和(15分)本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,结果保留三位小数。输入样例:5输出样例:0.917解答://本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和#include<stdio.h>int main(){ i..原创 2020-08-21 05:42:18 · 255 阅读 · 0 评论 -
2-3-5 输出华氏-摄氏温度转换表 (15分)
2-3-5输出华氏-摄氏温度转换表(15分)输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。输入格式:在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。输出格式:第一行输出:"fahr celsius"接着每行输出一个华氏温度fahr(整型)与一个摄氏温度c..原创 2020-08-21 05:40:23 · 223 阅读 · 0 评论 -
2-3-4 求简单交错序列前N项和 (15分)
2-3-4求简单交错序列前N项和(15分)本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。输入样例:10输出样例:sum = 0.819解答:#include<stdio.h>int main(){ int i,n; ..原创 2020-08-21 04:52:49 · 145 阅读 · 0 评论 -
2-3-3 求奇数分之一序列前N项和 (15分)
2-3-3求奇数分之一序列前N项和(15分)本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:23输出样例:sum = 2.549541解答:#include<stdio.h>int main(){ int i=1,t,N;...原创 2020-08-21 04:49:30 · 193 阅读 · 0 评论 -
2-3-2 求N分之一序列前N项和 (15分)
2-3-2求N分之一序列前N项和(15分)本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:6输出样例:sum = 2.450000解答:#include<stdio.h>int main(){ int i; int ...原创 2020-08-21 04:47:00 · 230 阅读 · 0 评论 -
2-3-1 求1到100的和 (10分)
2-3-1求1到100的和(10分)本题要求编写程序,计算表达式 1 + 2 + 3 + ... + 100 的值。输入格式:本题无输入。输出格式:按照以下格式输出:sum = 累加和解答:#include<stdio.h>int main(){ int i; int sum=0; for(i=1;i<=100;i++) { sum=sum+i; } printf("sum =...原创 2020-08-21 04:45:37 · 285 阅读 · 0 评论 -
2-2-8 计算火车运行时间 (15分)
2-2-8计算火车运行时间(15分)本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式:输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式:在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。输入样例:1201 1530输出样例:03:29解答:#...原创 2020-08-21 04:43:17 · 7474 阅读 · 0 评论 -
2-2-7 阶梯电价 (15分)
2-2-7阶梯电价(15分)为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Valu..原创 2020-08-21 04:40:58 · 1112 阅读 · 0 评论 -
MID-TERM EXAMINATION
MID-TERM EXAMINATION4-1对于如下嵌套的 if – else 语句,在空格中填上True或者False。请注意,直接填单词(区分大小写),前后不要加空格等任何其他字符。if(表达式1) if(表达式2)语句1; else if(表达式3)语句2; else 语句3; 当表达式1为True且表达式2为True 时,执行...原创 2020-04-23 16:34:23 · 2300 阅读 · 0 评论 -
5-8 使用函数求余弦函数的近似值
5-8使用函数求余弦函数的近似值本题要求实现一个函数,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e:cos(x)=x0/0!−x2/2!+x4/4!−x6/6!+⋯函数接口定义:double funcos( double e, double x );其中用户传入的参数为误差上限e和自变量x;函数funcos应返回用给定公式计算出...原创 2020-04-09 14:25:33 · 835 阅读 · 0 评论 -
5-7 使用函数输出水仙花数
5-7使用函数输出水仙花数水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( in...原创 2020-04-09 14:23:44 · 751 阅读 · 1 评论