自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Python一百天学习打卡汇总(来自Github项目)

天数 学习内容 1 初始python 2 语言元素 3 分支结构 4 循环结构 5 构造程序逻辑 6 函数和模块的使用 7

2020-05-05 21:06:49 38 0

原创 PAT乙级习题解答(汇总)

题号 题名 1001 害死人不偿命的(3n+1)猜想 1002 写出这个数 1003 我要通过! 1004 成绩排名 1005 继续(3n+1)猜想 1006 换个格式输出整数 1007 素数对猜想 1008 数...

2019-07-24 20:48:27 2084 0

原创 Python100天学习笔记——Day 10

图形用户界面和游戏开发 一、使用tkinter来开发GUI应用需要以下5个步骤: (1)导入tkinter模块中我们需要的东西。(2) 创建一个顶层窗口对象并用它来承载整个GUI应用。(3) 在顶层窗口对象上添加GUI组件。 (4)通过代码将这些GUI组件的功能组织起来。(5) 进入主事件循环(...

2020-05-14 16:29:08 32 0

原创 Python100天学习笔记——Day 9

面向对象编程进阶 (1)property装饰器:用来包装getter和setter方法,使得对属性的访问既安全又方便 property就是设置属性私有不能修改,setter是可以将私有的属性设置可修改的。 (2)__slots__魔法:限定自定义类型的对象只能绑定某些属性 (3)静...

2020-05-14 15:58:25 48 0

原创 python100天学习笔记——Day 8

面向对象编程基础 (1)面向对象定义:把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generaliza...

2020-05-09 18:55:30 46 0

原创 Python100天学习笔记——Day 7

字符串和常用数据结构 (1)字符串:单个或多个字符用单引号或者双引号包围起来。 +:字符串拼接; *:字符串重复; in/not in:判断一个字符串是否包含另外一个字符串; [ ]/[:]:从字符串取出某个字符或某些字符。 (2)列表: (3)元组:...

2020-05-07 20:29:02 37 0

原创 Python100天学习笔记——Day 6

函数和模块的使用 (1)定义函数:def定义函数 return返回函数值 (2)函数的参数: (3)用模块管理函数:即把函数单独写成一个文件。然后通过from 文件名 import 函数名,来使用对用的函数,这样函数名是可以重复的。 练习1:实现计算求最大公约数和最小公倍数的函数 ...

2020-05-05 21:01:17 39 0

原创 Python100天学习笔记——Day 5

构造程序逻辑,练习一些经典习题: 练习1:水仙花数 注意:/是除;//才是整除。 练习2:正整数反转 练习3:百钱百鸡 练习4:craps赌博游戏 练习5:生成斐波那契数列 练习6:找出10000以内的完美数 练习7:输出100以内所有的素数 ...

2020-05-04 23:51:27 41 0

原创 Python100天学习笔记——Day 4

循环结构: (1)for-in循环: 练习1:实现1~100的求和: 关于range()函数: range(101):产生0~100范围的整数,取不到101; range(1,101):产生1~100范围的整数,相当于前面是闭区间后面是开区间; range(1,101,2):产生1...

2020-05-01 17:42:04 44 0

原创 Python100天学习笔记——Day 3

分支结构:if elif else 代码块的构造:使用缩进的方式。 练习1: 练习2: 综合练习1: 综合练习2: 综合练习3:

2020-04-30 20:50:52 33 0

原创 Python100天学习笔记——Day 2

1、变量和类型 整型/浮点型/字符串型/布尔型 变量名:字母+数字+下划线(不能数字开头),且大小写敏感。 练习1:使用变量保存数据并进行加减乘除 练习2:使用type()检查变量的类型 练习3:输入两个整数并进行算术运算 练习4:赋值运算符和复合赋值运算符 练习5:...

2020-04-28 21:25:10 41 0

原创 Python100天学习笔记——Day 1

*Python的用途(要知道语言有什么用?) Web应用开发、云基础设施、DevOps、网络数据采集(爬虫)、数据分析挖掘、机器学习等领域都有着广泛的应用。 *Python的安装(由于之前在上慕课的时候按照视频教程已经安装过了,所以这部分跳过了) ...

2020-04-27 19:55:26 45 0

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

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

2018-10-18 20:56:37 178 0

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

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

2018-10-17 17:20:27 118 0

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

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

2018-10-17 16:39:35 463 0

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

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

2018-10-16 17:03:05 176 1

原创 (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 249 0

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

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

2018-10-09 19:27:39 144 0

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

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

2018-10-08 20:02:08 396 1

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

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

2018-09-05 19:40:26 166 0

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

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

2018-09-05 18:54:12 133 0

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

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

2018-09-03 22:05:24 548 3

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

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

2018-09-03 10:50:36 196 0

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

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

2018-09-02 19:00:33 180 0

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

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

2018-09-01 20:21:58 1159 1

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

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

2018-09-01 09:43:47 289 0

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

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

2018-09-01 09:15:09 291 0

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

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

2018-08-31 20:46:51 128 0

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

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

2018-08-31 19:50:16 408 0

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

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

2018-08-31 17:32:38 915 0

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

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

2018-08-31 10:32:16 240 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 364 0

原创 (PAT乙级)1030 完美数列(C语言实现)

总结: 1、刚开始有一个错误思路:认为最大值一定取的是数组内最大的,其实不然,因为条件是max<=min*p,那么max小的话有可能让完美数列中个数越多。 2、最小值可以先定下来,所以为了比较方便,最好先对数组进行排序(排序最好使用qsort函数排序,不然会出现运行超出时间)...

2018-08-30 20:53:28 428 0

原创 (PAT乙级)1025 反转链表(C语言实现)

总结: 1、首先要有hash散列思想,关键字是首地址,对应到的数组内可以查找到首地址对应的数值和下一地址。这样可以构成一组数据的输入。 2、还应该考虑输入样例中有不在链表中的结点的情况。所以用个sum计数统计在链表里的有效节点。注意链表的最后为空,所以对应地址为-1,可以作为循环判断的条件...

2018-08-30 18:57:52 408 0

原创 (PAT乙级)1020 月饼(C语言实现)

总结: 1、其实思路跟“德才论”那题很像。对每一种类月饼建立结构体变量,然后使用qsort函数按照月饼单售价排序,计算总价时,如果单售价最高的月饼库存量<=最大需求量,即可以售光该类月饼,最大需求量-库存量后再进行单售价次之的判断;否则,只能售出最大需求量*单价。 2、还需注...

2018-08-30 11:54:53 682 0

原创 (PAT乙级)1015 德才论(C语言实现)

总结: 1、struct和typedef struct的区别如下:(实际上就是给struct 结构名起一个简单的名字,方便定义时使用) 2、关于qsort()排序函数具体使用方法见链接:https://blog.csdn.net/yzl_rex/article/details/78...

2018-08-30 11:16:41 759 0

原创 (PAT乙级)1010 一元多项式求导(C语言实现)

总结: 1、  要注意的是,如果一开始输入的就只有一个项数为0的常数,求导后应该输出0 0。记得区分出这种情况的输出。所以在求导过程中,先判断项数是否为0,若不为0才对该项进行求导计算。 2、这题比较难的是:在未知输入数据个数时,“如何结束循环”。一开始是想用项数=0来结束循环的,后来发现...

2018-08-29 09:55:14 1329 0

原创 (PAT乙级)1005 继续(3n+1)猜想(C语言实现)

总结: 1、思路:Hash散列思想是最重要的!但此处不再是对应点映射+1了,而是只要验证过程中有这个数,即将对应点映射置为1。也就是说:对每一个输入的数字n进行验证,我们用num[]数组来记录,把验证过的数字对应的num标记为1。 2、关于输出,因为定义num数组时有很多为0的元素,针对全部元...

2018-08-29 09:09:53 957 0

原创 (PAT乙级)1068 万绿丛中一点红(C语言实现)

总结: 1、开始的时候是想用二维数组来储存数据的,但是后面发现我没有办法比较两个数之间是否相等,所以想改一维数组,但一维数组的毛病又在于它四周的元素不好找。所以这里的巧思在于:并没有比较元素之间是否相等,而是用Hash数列,判断hash数列对应的数字是否为1来判断是否独特。是独特的话在判...

2018-08-28 21:04:02 393 0

原创 (PAT乙级)1067 试密码(C语言实现)

总结: 1、还是为了防止字符串中有空格等什么奇怪字符,所以使用了gets()函数来输入字符串。 2、使用了比较字符串函数strcmp(s1,s2),如果两个字符串相等结果为0,s1>s2结果为1,s1<s2结果为-1。 3、需要注意如果已经是”#”了就不要继续...

2018-08-28 10:13:22 299 0

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