PAT二刷乙级坑点和个人错误总结

1005 继续(3n+1)猜想 先将数字放入数组,再用散列表将按其覆盖的数字放入散列表。

1007 素数对猜想 这类题还需多加练习

1008 数组元素循环右移问题 注意reverse()函数里下标问题,比如reverse(vec, vec + 4)表示将vec[0] ~ vec[3]反转

1013 数素数 注意素数表下标要从1开始而不是0;正整数范围到104,素数的范围<105000

1014 福尔摩斯的约会 注意隐含条件,一周暗示大写字母范围A~G,小时数也是。建议还是看1014题解

1015 德才论 注意排在第三类学生之后的学生的要求是德分和才分至少过最低线

1017 A除以B 大数除法还需加强练习

1019 数字黑洞 注意如果输入6174,要输出“7641 - 1467 = 6174”

1020 月饼 注意结构体里存货和价格也要用double类型存储

1022 D进制的A+B 注意a + b等于0的时候要输出0(测试点3)

1025 反转链表 此题还需加强

1026 程序运行时间 注意最后输出格式,printf("%02d:%02d:%02d", hour, minute, second); 即输出前导0

1029 旧键盘 注意存在字符串二遍历完,但字符串一还没遍历完的情况(即字符串一中最后几个字符没成功打上的情况)

1030 完美数列 注意数据要使用long类型,否则测试点5通过不了

1031 查验身份证 如果输入的ID前17位中存在除数字外的字符,则该ID出错,即测试点2

1033 旧键盘打字 可以没有坏键,所以第一个字符串的输入需要使用getline();当一个键坏掉时,它的大小写都不能输出。判断当前需要完整输入的字符是否与坏键相同,都需要将大写转成小写或者小写转成大写

1034 有理数四则运算 注意化简分数的要求最大公因数时,要使用abs函数传入正整数,这题多注意输出

1035 插入与归并 多练习插入和归并排序

1038 统计同成绩学生 注意这题不要用cin,cout,否则最后一个测试点会超时

1044 火星数字 多加练习

1050 螺旋矩阵 多加练习

1052 卖个萌 注意表情中会出现’ \ ‘字符,’\‘是转义字符,要显示出’\’,需要在其前面再添加一个’\’

1062 最简分数 这题着重练习gcd函数以及对三个数求最小公倍数的方法

1067 试密码 两点注意:1. 密码中间可能存在空格,所以要用getline()(别忘了getline之前用getchar()消除回车)2.如果密码错误,此时正好尝试次数达到上限,则应该先输出Wrong password: 用户输入的错误密码再输出Account locked

1070 结绳 注意一种极端情况,即只有一根绳子时,直接返回该绳子取半长度即可

1073 多选题常见计分法 多加练习

1074 宇宙无敌加法器 多加练习

1075 链表元素分类 注意题目给的结点有可能根本就不在链表中(测试点4),所以利用map将结点按顺序连接的时候得用一个变量记录该链表中真正的结点数,而不能是第一行自己输的所谓的“结点总个数”

1078 字符串压缩与解压 注意从压缩字符串转换为完整字符串时,字符的个数可能是两位

1079 延迟的回文数 注意一种特殊情况:当第一次给的数字本身就是回文数时,直接输出“它是回文数”

1085 PAT单位排行 注意最后成绩要加起来之后,最后总的取整,而不能先取整再累加

1095 解码PAT准考证 注意前导0的输出

你可能感兴趣的:(#,PAT乙级)