![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA习题
hand_up
这个作者很懒,什么都没留下…
展开
-
PTA 币值转换
输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。输入格式:输入在一行中给出一个不超过9位的非负整数。输出格式:在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。输入样例1:813227345输出样例1:iYbQ原创 2023-11-06 21:11:49 · 330 阅读 · 1 评论 -
PTA 质因子分解 (连续因子 相似)
本题目要求读入一个大于1的整数,编程将其分解成若干个质因子(素数因子)积的形式。输入格式:大于1的整数一个。输出格式:将输入的正整数分解成若干个质因子积的形式,质因子的出现顺序按从小到大排列。如:40=2*2*2*5;如果整数本身为质数或素数,直接输出,如:13=13。输入样例:12480输出样例:12480=2*2*2*2*2*2*3*5*13...原创 2022-03-02 15:58:53 · 384 阅读 · 0 评论 -
PTA 连续因子(素数)
一个正整数N的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样例:630输出...原创 2022-03-02 14:03:36 · 205 阅读 · 0 评论 -
PTA 谁先倒
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为:甲喊 甲划 乙喊原创 2021-12-05 14:45:03 · 384 阅读 · 2 评论 -
PTA 兔子繁衍问题
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。输入样例:30输出样例:9#include<stdio.h> int main(){ int n; scanf("%d", &n); if(n==原创 2021-12-04 21:33:32 · 480 阅读 · 0 评论 -
Average
You are going to read a serial of none-negative integers, which ends with a negative number that does not count as one of the data. Your program calculates the average of all the none-negative integers, and prints the average which rounds to two decimal pl原创 2021-11-10 22:04:22 · 461 阅读 · 0 评论 -
PTA 上三角数字三角形 及 又来一个上三角数字三角形
输入一个正整数n,输出具有n层的上三角数字三角形。输入格式:只有一个正整数n,1<=n<=100。输出格式:一个上三角数字三角形,每个数字占四个字符位置。输入样例:5输出样例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15代码:#include<stdio.h>int main(){ int n; scanf("%d",&n);//n层原创 2021-11-10 16:55:11 · 677 阅读 · 0 评论 -
PTA 作品评分 (冒泡排序法)
全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。本次比赛人人可做评委。每个网络评委可以通过网络对每一件作品进行打分。评分系统也是请程序高手设计的,能自动去掉一个最高分和一个最低分,求出平均分。输入格式:输入数据包括两行: 第一行为n,表示n个评委,n>2。 第二行是n个评委的打分,分数之间有一个空格。打分是可以带有小数部分的。输出格式:输出平均分,结果保留两位小数。输入样例:610 9 8 7.9 9 9.5输出样例:8.88原创 2021-11-10 13:53:13 · 862 阅读 · 0 评论 -
PTA 空心字母金字塔+数字金字塔+字母金字塔
输入一个大写的英文字母,输出空心的字母金字塔。输入格式:一个大写英文字母。输出格式:一个空心的大写英文字母金字塔,其中第1层的“A”在第1行的第40列,列从1开始计数。输入样例:E输出样例: A B B C C原创 2021-11-10 11:22:57 · 1939 阅读 · 0 评论 -
PTA 打印沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最原创 2021-11-09 23:34:15 · 79 阅读 · 0 评论 -
PTA 等腰直角三角形* + 字母等腰三角形
等腰直角三角形是指一个角是直角,且两条直角边相等的三角形。这里我们输出直角边长为n的等腰直角三角形的格式如下所示: 比如n=1,则输出:*n=2,输出:*** n=3,输出:*** *** 那么,你能用程序来实现么?输入格式:输入一个数n,表示三角形的边长。1<n<1000。输出格式:输出对应的用*表示的等腰直角三角形。输入样例:4输出样例:**********代码#include<stdio.h原创 2021-11-08 22:45:25 · 1369 阅读 · 0 评论 -
PTA Shuffling Machine-洗牌
Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techniques are seen as weak, and in order to avoid "inside jobs" where employees collaborate with gamblers by performing inadequate shuffles, many casinos employ原创 2021-11-08 20:36:05 · 131 阅读 · 0 评论 -
PTA 整除光棍
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程原创 2021-11-07 22:29:36 · 152 阅读 · 0 评论 -
PTA N个数求和(最大公约数、最小公倍数)
本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只输出分数部分。输入原创 2021-11-07 20:25:35 · 297 阅读 · 0 评论 -
PTA 求e的近似值
自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!+⋯来近似计算。本题要求对给定的非负整数n,求该级数的前n+1项和。输入格式:输入第一行中给出非负整数n(≤1000)。输出格式:在一行中输出部分和的值,保留小数点后八位。输入样例:10输出样例:2.71828180代码:#include<stdio.h>double fact(int n)//阶乘n!函数定义 { double sum=1; while(n>0...原创 2021-11-03 12:44:49 · 769 阅读 · 0 评论 -
PTA 人民币兑换
1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。输入格式:输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照5分硬币从少到多排列的。输出格式:显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。注意:如果全部方案不到n种,就顺序输出全部可能的方案。输入样例:5输出样例:1 46 53 2 42 56 3 38 59 4原创 2021-11-02 11:08:37 · 800 阅读 · 0 评论 -
PTA 换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。输入样例:13输出样例:fen5:2, fen2:1, fen1:1, total:4原创 2021-11-02 10:05:53 · 294 阅读 · 0 评论 -
PTA 字符串替换
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母 A Z B Y C X D W … … X C Y B Z A 输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。输入样例:Only the 11 CAPItaL LeTtERS are replaced.输出样例:Lnly the 1原创 2021-11-02 10:02:43 · 3533 阅读 · 0 评论 -
PTA-63 高空坠球
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。输入样例:33 5输出样例:94.9 1.0#include<stdio.h原创 2021-11-02 09:58:27 · 254 阅读 · 0 评论 -
PTA-99 打印九九口诀表
下面是一个完整的下三角九九口诀表: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 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8原创 2021-11-02 09:18:00 · 600 阅读 · 0 评论 -
PTA-93 水仙花数
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤7)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3结尾无空行输出样例:153370371407结尾无空行#include<stdio.h>#include<math.h>int main(){ i原创 2021-11-01 17:02:06 · 5764 阅读 · 4 评论 -
PTA-59 打印菱形图案
本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。输入样例:7结尾无空行输出样例: * * * * * * * * * * * * * * * * * * * * * * * * * 结尾无空行#include<stdio.h>int main(){ i原创 2021-10-27 23:03:17 · 690 阅读 · 0 评论 -
PTA-56 求给定精度的简单交错序列部分和
本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例1:4E-2结尾无空行输出样例1:sum = 0.854457结尾无空行输入样例2:0.02输出样例2:sum = 0.826310#incl原创 2021-10-27 16:00:06 · 104 阅读 · 0 评论 -
PTA-37 输出整数各位数字 + 倒序打印单词(数组)
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。输入样例:123456结尾无空行输出样例:1 2 3 4 5 6 答案#include<stdio.h>int main(){ int n; scanf("%d",&n); int temp=n;//n赋予temp int .原创 2021-10-15 19:24:38 · 641 阅读 · 0 评论 -
PTA 统计素数并求和 + 小于m的最大的10个素数
本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N(1≤M≤N≤500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31结尾无空行输出样例:7 143结尾无空行答案:若不排除1的情况则不正确#include<stdio.h>int main(){ int m,n; scanf("%d %d",&m,&n);//首尾原创 2021-10-11 21:53:03 · 2221 阅读 · 0 评论 -
PTA-26 最大公约数和最小公倍数
本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292结尾无空行输出样例:73 2044//辗转相除法 #include<stdio.h>int main(){ int m,n; scanf("%d %d",&m,&n); int t,x; t=m%n; x=m*n原创 2021-10-09 09:16:27 · 150 阅读 · 0 评论 -
PTA-25 求奇数和
本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。输出格式:在一行中输出正整数序列中奇数的和。输入样例:8 7 4 3 70 5 6 101 -1结尾无空行输出样例:116#include<stdio.h>int main(){ int sum=0; while(1){//创建输入循环 int n; scanf("%d",&.原创 2021-10-08 23:13:37 · 95 阅读 · 0 评论 -
PTA-24 猜数字游戏
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结原创 2021-10-08 22:45:38 · 300 阅读 · 0 评论 -
PTA-19 计算天数
题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02结尾无空行输出样例1:61结尾无空行输入样例2:2000/03/02输出样例2:62#include<stdio.h>..原创 2021-10-08 15:26:57 · 178 阅读 · 0 评论 -
PTA-8 是不是太胖了
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)输入格式:输入第一行给出一个正整数H(100<H≤300),为某人身高。输出格式:在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。输入样例:169结尾无空行输出样例:124.2结尾无空行#include<stdio.h>in...原创 2021-10-07 22:10:53 · 158 阅读 · 0 评论 -
PTA-6 厘米换算英尺英寸
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:170结尾无空行输出样例:5 6结尾无空行#include<stdio.h>int main(){原创 2021-10-07 22:08:45 · 103 阅读 · 0 评论 -
PTA-1 重要的话说三遍
这道超级简单的题目没有任何输入。你只需要把这句很重要的话 —— “I'm gonna WIN!”——连续输出三遍就可以了。注意每遍占一行,除了每行的回车不能有任何多余字符。#include<stdio.h>int main(){ printf("I'm gonna WIN!\n"); printf("I'm gonna WIN!\n"); printf("I'm gonna WIN!\n");//法一 printf("I'm gonna WIN!\nI'm go原创 2021-10-07 22:05:11 · 86 阅读 · 0 评论