(PAT甲级)1011 World Cup Betting (C语言实现)

code: conclusion: 1、总体思路:这题比较简单啦。即输入3组数据,每组数据3个胜率,找出3个胜率中的最大值将其最大值和最大值对应的下标存下来,输出下标对应的字符。并进行最大胜率计算输出,以两位小数输出最后结果。...

2018-10-18 20:56:37

阅读数 56

评论数 0

(PAT甲级)1009 Product of Polynomials (C语言实现)

code: conclusion: 1、总结:其实思路和1002那题是类似的,两题可以进行对比。这里我是采用结构数组来对每一组指数和系数存储,然后在遍历数组1的每个数的同时,遍历数组2的每个数,建立一个数组(下标是指数,最大为2000;值是系数),则数组1指数与数组2指数之和对应新构建...

2018-10-17 17:20:27

阅读数 48

评论数 0

(PAT甲级)1008 Elevator(C语言实现)

code: conclusion: 1、总体思路:本题比较简单,就是一个判断欲停的楼层和当前楼层的一个大小关系,大时上升,小时下降,对时间进行累加求和即可。

2018-10-17 16:39:35

阅读数 180

评论数 0

(PAT甲级)1007 Maximum Subsequence Sum (C语言实现)

code: conclusion: 1、总体思路:最大子列和问题。按陈越姥姥《数据结构》课上有四种算法,后两种效率比较高的方法我没有办法让他输出头和尾两个数,所以使用了第二个算法来改编。首先在每输入一个数据时,都应该判断是否是负数,并计数,若所有数都是负数,则输出最大子列和为0且头和尾的数...

2018-10-16 17:03:05

阅读数 60

评论数 0

(PAT甲级)1006 Sign In and Sign Out (C语言实现)

code: conclusion: 1、总体思路是:构建结构体数组,每一个id都和对应的signin、signout联系起来,然后对signin进行升序排列,输出第一个id;接着对signout进行降序排列,输出第一个id。便得到了开门和锁门的人对应的ID。 2、开始对signin和si...

2018-10-16 16:23:33

阅读数 114

评论数 0

(PAT甲级)1002 A+B for Polynomials (C语言实现)

code: conclusion: 1、看到这题会首先联想到姥姥讲《数据结构》课上提到的合并多项式加法的方法,因为这里指数都是降序排列,可以用两个数组存储指数和系数,然后比较指数大小,如果A的第一个指数小于B的第一个指数,则新多项式的第一个指数应该是B的第一个指数,类似如此比较下去,最后统...

2018-10-09 19:27:39

阅读数 38

评论数 0

(PAT甲级)1001 A+B Format(C语言实现)

code: conclusion: 1、首先要想到使用sprintf()函数将整型数据转换为字符串。 2、然后,关键的地方在于:使用什么样的判断条件来输出“,"逗号。通常会想到三位数一组,那就下标(i+1)%3==0,但题目要求是三个数三个数一组输出,这样的话,可能会出...

2018-10-08 20:02:08

阅读数 100

评论数 0

(PAT乙级)1084 外观数列(C语言实现)

总结: 1、关于字符串的处理,C语言中处理的功能较弱,此处尝试使用C++语言编写。因为是第一次运用C++去做PAT,所以还不够熟悉,需要勤奋练习。 2、思路:利用字符串变量存储第N项,针对字符串中每一个字符从其所在位置i开始遍历,直到第j项不等于该字符为止(第二层循环为空语句)。因为每一个...

2018-09-05 19:40:26

阅读数 71

评论数 0

(PAT乙级)1083 是否存在相等的差(C语言实现)

总结: 1、主要是能想到Hash散列。下标值是对应的是差值,数组值对应的是该差值的重复次数。 2、输出要注意的是:题目中的重复次数是>=2,所以判断条件不是不等于0,而是应该>1。...

2018-09-05 18:54:12

阅读数 81

评论数 0

(PAT乙级)1078 字符串压缩与解压(C语言实现)

总结: 1、最后一个测试用例过不去心累!!!有机会再调试!

2018-09-03 22:05:24

阅读数 272

评论数 3

(PAT乙级)1077 互评成绩计算(C语言实现)

总结: 1、题目思路不难,容易出错的地方在于最后要四舍五入输出平均分数,但若将平均分定义为int类型,只会取整数部分,所以有一个比较巧妙的方法:在得到的平均分后+0.5,若小数位>0.5,加上0.5后可以进1;若小数位<0.5,加上0.5也不会进位...

2018-09-03 10:50:36

阅读数 99

评论数 0

(PAT乙级)1072 开学寄语(C语言实现)

总结: 1、一开始思路就错了,因为看到以一个个学生的信息为个体,很容易会想用结构体,但这题没法使用结构体,因为每个人后面所带物品的数量是不确定的,没办法在定义数组时给出具体值,且若想输入值也是可以的不过需要循环,这会造成很多重循环。 2、正确思路:Hash散列思想还是不能忘呀,定义一个...

2018-09-02 19:00:33

阅读数 83

评论数 0

陈越《数据结构》第一周课后作业1——最大子列和+二分查找

<一>最大子列和的三种算法实现: 算法1:强算强循环 算法2:分而治之 算法3:在线处理 不仅输出最大子列和,还需输出该子列的首尾数字。 因为算法2比较复杂我不想改,算法3尝试改了没通过所有用例,所以又求助于最古朴的算法...

2018-09-01 20:21:58

阅读数 528

评论数 1

(PAT乙级)1070 结绳(C语言实现)

总结: 1、这题只要想清楚其中的取巧点就很容易做了。因为所有长度都要串在一起,每次都等于(旧的绳子长度+新的绳子长度)/2,所以越是早加入绳子长度中的段,越要对折的次数多,所以既然希望绳子长度是最长的,就必须让长的段对折次数尽可能的短。所以将所有段从小到大排序,然后从头到尾从小到大分别将每一...

2018-09-01 09:43:47

阅读数 130

评论数 0

(PAT乙级)1065 单身狗(C语言实现)

总结: 1、我最初的想法是一遍遍去遍历,但其实自己心里也清楚这样循环层数多,容易运行超时,所以以下思路借鉴柳婼小姐姐。 思路:定义情侣数组couple[ ]={-1},每个人对应的编号的数组存储自己情侣的编号。这样有情侣的人对应的初值不再是-1,其他对应值仍是-1的编号即为单身狗。再定...

2018-09-01 09:15:09

阅读数 136

评论数 0

(PAT乙级)1060 爱丁顿(C语言实现)

总结: 1、我还是没能理解题目意思,判断的条件借鉴来自于柳婼小姐姐。他们的意思好像是说,a[i]按降序排列,p增加,a[p]减小,迟早会有a[p]<p,则跳出循环。以后理解了再来编辑吧。...

2018-08-31 20:46:51

阅读数 63

评论数 0

(PAT乙级)1055 集体照(C语言实现)

  总结: 1、我的问题在于最后如何输出上找不到规律。输出之前的思路都是正确的。所以借鉴了柳婼小姐姐的C++代码的思路,然后写了C语言的程序。 2、总体思路如下:很明显这题肯定要用结构体去解决,但使用结构体让我疑虑的是因为名字是字符串,所以我需要定义一个字符数组,我并不清楚是否可以在结构...

2018-08-31 19:50:16

阅读数 215

评论数 0

(PAT乙级)1050 螺旋矩阵(C语言实现)

总结: 1、两个会卡住的思路难点:①n,m的值怎么确定。②怎么打印螺旋矩阵。 对于①:我本来的想法是找出N的所有约数,然后再在约数里面找到差值最小对应的n,m。这样步骤繁杂,又要先找约数,然后又要判断最小值是哪两个数的差。其实约数里面是有对应的,比如:12的约数(1,2,3,4,6,1...

2018-08-31 17:32:38

阅读数 437

评论数 0

(PAT乙级)1045 快速排序(C语言实现)

总结: 1、我自己的思路是对每一个元素的左边右边进行大小比较,看是否符合条件,但不得不说这样时间复杂度大,运行会超时,所以去借鉴了柳婼小姐姐的思路。 2、(思路from柳婼のblog)对原序列qsort排序,逐个比较,当当前元素没有变化并且它左边的所有值的最大值都比它小的时候就可以认为它一...

2018-08-31 10:32:16

阅读数 132

评论数 0

(PAT乙级)1040 有几个PAT(C语言实现)

总结: 1、思路上出现了偏差:我原来的思路是找到P的位置,然后从P之后开始计数A和T有多少个,个数相乘即为此P对应的PAT数。但忘记了PAT的顺序性,PTA,按我的想法最后PAT数是1,实际上应该是0。所以为了保障顺序性,标记性的字符选择中间的‘A’,统计A前的P个数和A后的T个数。 2、...

2018-08-31 09:50:02

阅读数 121

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭