PTA
PAT平台的解题思路及代码分析
是一只派大鑫
知识改变命运,技术成就人生
展开
-
基础编程题目集 7-4 BCD解密 (10 分)
基础编程题目集 7-4 BCD解密 解题思路及解题代码原创 2022-03-17 10:59:32 · 639 阅读 · 2 评论 -
基础编程题目集 7-3 逆序的三位数 (10 分)
基础编程题目集 7-3 逆序的三位数 解题思路及解题代码原创 2022-03-17 10:45:11 · 600 阅读 · 3 评论 -
基础编程题目集 7-2 然后是几点 (15 分)
基础编程题目集 7-2 然后是几点 解题思路及解题代码原创 2022-03-17 10:37:54 · 438 阅读 · 2 评论 -
基础编程题目集 7-1 厘米换算英尺英寸 (15 分)
基础编程题目集 7-1 厘米换算英尺英寸 解题思路及解题代码原创 2022-03-17 10:07:02 · 419 阅读 · 1 评论 -
基础编程题目集 6-13 折半查找 (15 分)
PAT基础编程题目集 6-13 折半查找 解题思路及解题代码原创 2022-03-08 16:42:42 · 290 阅读 · 0 评论 -
基础编程题目集 6-12 判断奇偶性 (10 分)
PAT基础编程题目集 6-12 判断奇偶性 解题思路及解题代码原创 2022-03-08 16:34:19 · 707 阅读 · 0 评论 -
基础编程题目集 6-11 求自定类型元素序列的中位数 (25 分)
PAT基础编程题目集 6-11 求自定类型元素序列的中位数 解题思路及解题代码原创 2022-03-08 16:30:51 · 271 阅读 · 0 评论 -
基础编程题目集 6-10 阶乘计算升级版 (20 分)
PAT基础编程题目集 6-10 阶乘计算升级版 解题思路及解题代码原创 2022-03-08 16:19:36 · 261 阅读 · 0 评论 -
基础编程题目集 6-9 统计个位数字 (15 分)
PAT基础编程题目集 6-9 统计个位数字 解题思路及解题代码原创 2022-03-08 16:11:06 · 304 阅读 · 0 评论 -
基础编程题目集 6-8 简单阶乘计算 (10 分)
PAT基础编程题目集 6-8 简单阶乘计算 解题思路及解题代码原创 2022-03-07 11:09:19 · 296 阅读 · 1 评论 -
基础编程题目集 6-7 统计某类完全平方数 (20 分)
PAT基础编程题目集 6-7 统计某类完全平方数 解题思路及解题代码原创 2022-03-07 11:03:16 · 312 阅读 · 2 评论 -
基础编程题目集 6-6 求单链表结点的阶乘和 (15 分)
PAT基础编程题目集 6-6 求单链表结点的阶乘和 解题思路及解题代码原创 2022-03-07 10:28:48 · 439 阅读 · 2 评论 -
基础编程题目集 6-5 求自定类型元素的最大值 (10 分)
PAT基础编程题目集 6-5 求自定类型元素的最大值 解题思路及解题代码原创 2022-03-07 10:03:47 · 346 阅读 · 1 评论 -
基础编程题目集 6-4 求自定类型元素的平均 (10 分)
PAT基础编程题目集 6-4 求自定类型元素的平均 解题思路及解题代码原创 2022-03-07 09:59:30 · 165 阅读 · 0 评论 -
基础编程题目集 6-3 简单求和 (10 分)
PAT基础编程题目集 6-3 简单求和 解题思路及解题代码原创 2022-03-07 09:54:11 · 170 阅读 · 0 评论 -
基础编程题目集 6-2 多项式求值 (15 分)
PAT基础编程题目集 6-2 多项式求值 解题思路及解题代码原创 2022-03-07 09:47:43 · 182 阅读 · 0 评论 -
基础编程题目集 6-1 简单输出整数 (10 分)
PAT基础编程题目集 6-1 简单输出整数 解题思路及解题代码原创 2022-03-07 09:31:10 · 307 阅读 · 1 评论 -
PAT乙级(1037 在霍格沃茨找零钱 )
PAT乙级 1037 在霍格沃茨找零钱 解题思路乙级代码思路:首先判断需要付的费用和实际付的费用大小关系如果应付大于实付,则将其交换,并且先输出'-'这样即可避免其他方法判断正负问题的多余代码获取结果时,从低位到高位开始获取,判断是否需要进位,如果低位进位了,则高位需要减一再进行对应位置相减原创 2021-07-16 07:33:03 · 4514 阅读 · 0 评论 -
PAT乙级(1036 跟奥巴马一起编程)
PAT乙级 1036 跟奥巴马一起编程 题目描述及解题代码题目描述:画正方形解题思路:N个字符分情况 为偶数时 行数=N/2 为奇数时行数=N/2+1 所以用一个共同代码把行数赋值给t变量 t=N/2+N%2; 输出时 先输出第一行 有N列的字符c, 然后输出中间的t-2行 每行输出N-2个字符c 最后输出最后一行同第一行的结果一样即可原创 2021-07-16 07:28:39 · 3825 阅读 · 0 评论 -
PAT乙级(1035 插入与归并)
PAT乙级 1035 插入与归并 解题思路 代码详细题目见官网大意:给定序列,第一行为原始序列,第二行为某种排序产生的中间序列输出结果: 第一行,输出是 插入排序 还是 归并排序 第二行,给出该排序的下一轮排序结果原创 2021-07-16 07:23:01 · 6381 阅读 · 0 评论 -
PAT乙级(1034 有理数四则运算)
PAT乙级 1034 有理数四则运算 题目描述 解题代码PAT解题所有题目 可看该模块下其他文章原创 2021-07-16 07:17:23 · 4487 阅读 · 0 评论 -
PAT乙级(1033 旧键盘打字)
PAT乙级 1033旧键盘打字 题目描述 解题代码原创 2021-07-16 07:14:28 · 6995 阅读 · 0 评论 -
PAT乙级(1032 挖掘机技术哪家强 )
PAT乙级1031题 题目描述 解题代码原创 2021-07-16 07:11:00 · 7853 阅读 · 0 评论 -
PAT刷题经验(1),看此一遍文章就够了!
PAT刷题经验,详细介绍了什么是PAT,刷PAT有什么用,怎么学习刷算法,推荐的书籍,还有一些刷题技巧~原创 2021-07-05 16:50:45 · 21250 阅读 · 6 评论 -
PAT乙级(1031 查验身份证)
PAT乙级1031题解题思路过程以及运行代码见内容原创 2021-07-04 15:38:18 · 10534 阅读 · 0 评论 -
PAT乙级(1030 完美数列)
给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M≤mp,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(≤105)是输入的正整数的个数,p(≤109)是给定的参数。第二行给出N个正整数,每个数不超过109。输出格式:在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。输入样例:10 82 3 20 4 ...原创 2021-07-04 15:37:01 · 10711 阅读 · 0 评论 -
PAT乙级(1029 旧键盘)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线_(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。输入样例:.原创 2021-07-04 15:35:55 · 12008 阅读 · 0 评论 -
PAT乙级(1028 人口普查)
PAT乙级1028解题代码原创 2021-07-04 15:33:42 · 11853 阅读 · 0 评论 -
PAT乙级(1027 打印沙漏)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最原创 2021-07-04 15:32:11 · 17118 阅读 · 0 评论 -
PAT乙级(1026 程序运行时间)
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用 clock(),获得一个时钟打点数 C1;在f执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟打点数之差 (C2-...原创 2021-07-04 15:31:01 · 13073 阅读 · 0 评论 -
PAT乙级(1025 反转链表)
给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为 1→2→3→4→5→6,K为 3,则输出应该为 3→2→1→6→5→4;如果K为 4,则输出应该为 4→3→2→1→5→6,即最后不到K个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数N(≤105)、以及正整数K(≤N),即要求反转的子链结点的个数。结点的地址是 5 位非负整数,NULL 地址用−1表示。...原创 2021-07-04 15:29:41 · 15676 阅读 · 0 评论 -
PAT乙级(1024 科学计数法)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以科学计数法表示的实数A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。输出格式:...原创 2021-07-04 15:28:16 · 10277 阅读 · 0 评论 -
PAT乙级(1023 组个最小数)
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。输出格式:在一行中输出能够组成原创 2021-07-04 15:26:19 · 11188 阅读 · 0 评论 -
PAT乙级(1022 D进制的A+B )
输入两个非负 10 进制整数A和B(≤230−1),输出A+B的D(1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数A、B和D。输出格式:输出A+B的D进制数。输入样例:123 456 8输出样例:1103解题代码:int main(){ int a,b,d; scanf("%d%d%d",&a,&b,&d); int i=0,p=a+b,ans[50]={0}; if(...原创 2021-07-03 16:55:22 · 12892 阅读 · 0 评论 -
PAT乙级(1021 个位数统计)
给定一个k位整数N=dk−110k−1+⋯+d1101+d0(0≤di≤9,i=0,⋯,k−1,dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数N。输出格式:对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按...原创 2021-07-03 16:54:14 · 12101 阅读 · 0 评论 -
PAT乙级(1020 月饼)
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。输入原创 2021-07-03 16:53:05 · 11977 阅读 · 0 评论 -
PAT乙级(1019 数字黑洞)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 - 1467 = 6174... ....原创 2021-07-03 16:52:04 · 11738 阅读 · 0 评论 -
PAT乙级(1018 锤子剪刀布)
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第 1 行给出正整数N(≤105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。输出格式:输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以...原创 2021-07-03 16:49:36 · 13133 阅读 · 0 评论 -
PAT乙级(1017 A除以B)
本题要求计算A/B,其中A是不超过 1000 位的正整数,B是 1 位正整数。你需要输出商数Q和余数R,使得A=B×Q+R成立。输入格式:输入在一行中依次给出A和B,中间以 1 空格分隔。输出格式:在一行中依次输出Q和R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:17636684150141093474 3解题代码:int main(){ char a[1001]; int b; /...原创 2021-07-03 16:47:27 · 17076 阅读 · 0 评论 -
PAT乙级(1016 部分A+B)
正整数A的“DA(为 1 位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A=3862767,DA=6,则A的“6 部分”PA是 66,因为A中有 2 个 6。现给定A、DA、B、DB,请编写程序计算PA+PB。输入格式:输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0<A,B<109。输出格式:在一行中输出PA+PB的值。...原创 2021-07-03 16:37:18 · 15255 阅读 · 0 评论