
C
Scarlett·S
学海无涯,回头无岸
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT C入门题目练习-7-90 螺旋方阵 (20 分)
7-90 螺旋方阵 (20 分)所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。输入格式:输入在一行中给出一个正整数N(<10)。输出格式:输出N×N的螺旋方阵。每行N个数字,每个数字占3位。输入样例:5输出样例: 1 2 3 4 5 16...原创 2019-01-29 19:27:25 · 543 阅读 · 1 评论 -
PAT C 入门题目-7-120 Left-pad (20 分)(gets(字符串数组))
7-120 Left-pad (20 分)根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为10,调用left-pad...原创 2019-01-31 21:32:34 · 319 阅读 · 1 评论 -
PAT C入门题目-7-69 猴子选大王 (20 分)
7-69 猴子选大王 (20 分)一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选...原创 2019-01-30 21:30:52 · 3572 阅读 · 2 评论 -
PAT C入门题目-7-116 验证“哥德巴赫猜想” (20 分)(素数)
7-116 验证“哥德巴赫猜想” (20 分)数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入格式:输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。输出格式:在一行中按照格式“N = p + q...原创 2019-01-30 19:04:25 · 3565 阅读 · 0 评论 -
PAT C入门题目-7-111 输出学生成绩 (20 分)(动态内存分配)
7-111 输出学生成绩 (20 分)本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。输入格式:输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。输出格式:按照以下格式输出:average = 平均成绩max = 最高成绩min = 最低成绩结果均保留两...原创 2019-01-30 18:23:39 · 1638 阅读 · 1 评论 -
PAT C入门题目-7-103 查找书籍 (20 分)(struct的应用)
7-103 查找书籍 (20 分)给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位...原创 2019-01-30 17:20:05 · 555 阅读 · 0 评论 -
PAT C入门题目-7-96 换硬币 (20 分)
7-96 换硬币 (20 分)将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最...原创 2019-01-30 15:51:27 · 663 阅读 · 0 评论 -
PAT C入门题目-7-93 藏尾诗 (20 分)
7-93 藏尾诗 (20 分)本题要求编写一个解密藏尾诗的程序。输入格式:输入为一首中文藏尾诗,一共四句。每句一行,但句子不一定是等长的,最短一个汉字,最长九个汉字。注意:一个汉字占两个字节。输出格式:取出每句的最后一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:悠悠田园风然而心难平兰花轻涌浪兰香愈幽静输出样例:风平浪静...原创 2019-01-29 22:53:36 · 2273 阅读 · 0 评论 -
PAT C入门题目-7-92 IP地址转换 (20 分)
7-92 IP地址转换 (20 分)一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。输出格式:在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。输入样例:110011001001010000...原创 2019-01-29 21:45:02 · 2386 阅读 · 0 评论 -
PAT C入门题目-7-91 统计字符出现次数 (20 分)
7-91 统计字符出现次数 (20 分)本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。输入格式:输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。输出格式:在一行中输出给定字符在给定字符串中出现的次数。输入样例:programming is More fun!m输出样例:2#include <std...原创 2019-01-29 20:20:19 · 21874 阅读 · 1 评论 -
PAT C语言入门题目-7-84 高空坠球 (20 分)
7-84 高空坠球 (20 分)皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位...原创 2019-01-28 23:17:02 · 5047 阅读 · 0 评论 -
PAT C语言入门题目-7-79 求幂级数展开的部分和 (20 分)
7-79 求幂级数展开的部分和 (20 分)已知函数ex可以展开为幂级数1+x+x2/2!+x3/3!+⋯+xk/k!+⋯。现给定一个实数x,要求利用此幂级数部分和求ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。输入格式:输入在一行中给出一个实数x∈[0,5]。输出格式:在一行中输出满足条件的幂级数部分和,保留小数点后四位。输...原创 2019-01-28 22:41:33 · 2044 阅读 · 1 评论 -
PAT C 语言入门题目-7-64 最长对称子串 (25 分)四种方法求解(暴力枚举+动态规划+中心扩展+manacher算法(马拉车))
7-64 最长对称子串 (25 分)对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetri...转载 2019-01-28 21:19:02 · 1160 阅读 · 0 评论 -
PAT C语言入门题目-7-62 切分表达式——写个tokenizer吧 (20 分)
7-62 切分表达式——写个tokenizer吧 (20 分)[先说点出题背景]这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?请自行查询解决。反正在此处不应翻译成“...原创 2019-01-28 20:18:28 · 1768 阅读 · 0 评论 -
PAT C 语言入门题目-7-60 删除重复字符 (20 分)
7-60 删除重复字符 (20 分)本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvzint main(){ char...原创 2019-01-28 19:25:18 · 968 阅读 · 0 评论 -
PAT C语言入门题目-7-56 找鞍点 (20 分)
7-56 找鞍点 (20 分)一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩...转载 2019-01-27 23:21:59 · 448 阅读 · 0 评论 -
PAT C语言入门题目-7-55 矩阵运算 (20 分)
7-55 矩阵运算 (20 分)给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。输入格式:输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。输出格式:在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。输入样例:42 3 4 1...原创 2019-01-27 23:02:29 · 314 阅读 · 0 评论 -
PAT C语言入门题目-7-53 求最大值及其下标 (20 分)
7-53 求最大值及其下标 (20 分)本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例:62 8 10 1 9 10输出样例:10 2 #...原创 2019-01-27 22:19:25 · 311 阅读 · 0 评论 -
PAT C入门题目-7-121 N个数求和 (20 分)(有理数最大公约数,最小公倍数)
7-121 N个数求和 (20 分)本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 ...原创 2019-01-31 22:12:38 · 2706 阅读 · 1 评论 -
PAT C入门题目-7-122 A-B (20 分)
7-122 A-B (20 分)本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样...原创 2019-01-31 22:45:54 · 2642 阅读 · 0 评论 -
PAT C入门题目-7-127 打印沙漏 (20 分)
7-127 打印沙漏 (20 分)本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能...转载 2019-02-08 21:07:06 · 780 阅读 · 0 评论 -
PAT C入门题目-7-124 天梯赛座位分配 (20 分)(动态内存分配)
7-124 天梯赛座位分配 (20 分)天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员...原创 2019-02-08 17:43:25 · 806 阅读 · 1 评论 -
PAT C语言入门题目-7-52 数组元素循环右移问题 (20 分)
7-52 数组元素循环右移问题 (20 分)一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入...原创 2019-01-27 22:00:55 · 831 阅读 · 0 评论 -
PAT C语言入门题目-7-51 求n以内最大的k个素数以及它们的和 (20 分)
7-51 求n以内最大的k个素数以及它们的和 (20 分)本题要求计算并输出不超过n的最大的k个素数以及它们的和。输入格式:输入在一行中给出n(10≤n≤10000)和k(1≤k≤10)的值。输出格式:在一行中按下列格式输出:素数1+素数2+…+素数k=总和值其中素数按递减顺序输出。若n以内不够k个素数,则按实际个数输出。输入样例1:1000 10输...原创 2019-01-27 19:07:17 · 1866 阅读 · 0 评论 -
PAT C入门题目-7-19 计算天数 (15 分)
7-19 计算天数 (15 分)本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61...原创 2019-01-15 20:51:48 · 903 阅读 · 0 评论 -
PAT C入门题目-7-18 出租车计价 (15 分)
7-18 出租车计价 (15 分)本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元; 超起步里程后10公里内,每公里2元; 超过10公里以上的部分加收50%的回空补贴费,即每公里3元; 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到...原创 2019-01-15 20:39:08 · 1140 阅读 · 1 评论 -
PAT C入门题目-7-17 成绩转换 (15 分)(switch-case)
7-17 成绩转换 (15 分)本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。输入格式:输入在一行中给出一个整数的百分制成绩。输出格式:在一行中输出对应的五分制成绩。输入样例:90输出样例:A#inc...原创 2019-01-15 20:36:59 · 456 阅读 · 0 评论 -
PAT C入门题目-7-15 BCD解密 (10 分)
7-15 BCD解密 (10 分)BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回...原创 2019-01-15 20:32:53 · 204 阅读 · 0 评论 -
PAT C入门题目-7-14 然后是几点 (15 分)
7-14 然后是几点 (15 分)有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可...原创 2019-01-15 20:17:38 · 579 阅读 · 0 评论 -
PAT C入门题目-7-13 后天 (5 分)
7-13 后天 (5 分)如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。输入格式:输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一天。输出格式:在一行中输出D天的后天是星期几。输入样例:3输出样例:5#include<stdi...原创 2019-01-15 20:06:38 · 2034 阅读 · 0 评论 -
PAT C入门题目-7-12 日期格式化 (5 分)
7-12 日期格式化 (5 分)世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。输入格式:输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。输出格式:在一行中按照“yyyy-mm-dd”的格式给出年...原创 2019-01-15 20:03:24 · 864 阅读 · 0 评论 -
Pat C入门题目-struct
定义一个数组,要实现{1,Penny}{5,nickel}{10,dime}{25,quarter}{50,half-dollar}一一对应#include<stdio.h>int amount[] = {1,5,10,25,50};char *name[] = {"penny","nickel","dime","quarter","half-dollar"};stru原创 2019-01-25 19:17:02 · 251 阅读 · 0 评论 -
PAT 5 兔子繁衍问题
兔子繁衍问题(15 分)一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。输入样例:30输出样例:9此题可解为:第...原创 2018-03-19 23:36:45 · 371 阅读 · 0 评论 -
第一次竞赛-C.搬家
Alice准备搬家,他把自己的物品都装到箱子里,并在箱子上贴了箱子的重量。装箱后要将这些箱子运到卡车上运去新的住所。将箱子往卡车上运的时候,需要把它堆起来以节省卡车上的空间。而堆砌的时候如果上方的箱子比下方箱子更重,那么会把下方箱子压坏,这时就需要重新堆另一堆。Alice希望你写一个程序帮助计算出最少堆几垛箱子。输入内容输入形式为Nw1w2...wN输入共N+1行...原创 2019-01-18 22:36:06 · 435 阅读 · 0 评论 -
第一次竞赛-B.连接竹竿
B-连接竹竿 Alice从市场上买了N根竹竿,每根竹竿都以“节”为单位。这些竹竿中最短的有A节,最长的有B节,其余竹竿各有长短,每根竿的节数也必定在[A,B]范围内。现在Alice希望将这些竹竿用连接部件全部接成一根长竹竿。连接部件的长度忽略不计,请你输出连接后的长竹竿共可能有多少种不同节数。数据不合理或组合不出结果时输出0数据范围 1 ≤ N,A,B ≤ 10^9 A 和 B...原创 2019-01-18 21:41:55 · 428 阅读 · 1 评论 -
第一次竞赛-A.质数的最大乘积
两个质数的和是S,它们的积最大是多少?Input一个不大于10000的正整数S,为两个质数的和。Output一个整数,为两个质数的最大乘积。数据保证有解。Sample Input50Sample Output589#include <stdio.h>#include <math.h>int Iszs(int n){ int...原创 2019-01-18 20:45:02 · 1049 阅读 · 0 评论 -
PAT C语言入门题目-7-32 求交错序列前N项和 (15 分)
7-32 求交错序列前N项和 (15 分)本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,结果保留三位小数。输入样例:5输出样例:0.917#include <stdio.h>int main(){ in...原创 2019-01-18 14:27:12 · 6489 阅读 · 1 评论 -
PAT C语言入门题目-7-31 掉入陷阱的数字 (15 分)
7-31 掉入陷阱的数字 (15 分)对任意一个自然数N0,先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N1;然后对N1重复这种操作,可以产生新自然数N2;……多次重复这种操作,运算结果最终会得到一个固定不变的数Nk,就像掉入一个数字“陷阱”。本题要求对输入的自然数,给出其掉入“陷阱”的过程。输入格式:在一行内给出一个自然数N0...原创 2019-01-18 14:23:33 · 1919 阅读 · 0 评论 -
PAT C入门题目-7-30 念数字 (15 分)(关于string.h头文件)
7-30 念数字 (15 分)输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼...原创 2019-01-18 13:58:36 · 1104 阅读 · 0 评论 -
PAT C入门题目-竖着输出字符串(Z:c语言求数组长度 sizeof()&strlen())
7-2 I Love GPLT (5 分)这道超级简单的题目没有任何输入。你只需要把这句很重要的话 —— I Love GPLT ——竖着输出就可以了。即每个字符占一行(包括空格),即每行只能有1个字符和回车。#include<stdio.h>int main(){ char a[]="I Love GPLT"; for(int i=0;i<s...原创 2019-01-04 22:12:50 · 6732 阅读 · 0 评论