PAT
jianglx3
跨考汪一以贯之!
展开
-
PAT1019_A组_General Palindromic Number(进制大于10)
当进制大于10时,处理方法:1.ABCDE...2.按两位数正常储存,如果需要详细操作,可以不使用string,而是vector<string>,这样将每个位对应数字单独出来//思路:先将进制转化,将数字储存在字符串中,字符串倒置,判断字符串是否相等#include<iostream>using namespace std;#include<algorithm>#include<string>#include<vector>原创 2021-12-17 00:32:21 · 90 阅读 · 0 评论 -
c++ string 字符大小写的转换
问题来源: PAT1085(8条消息) c++ string 字符大小写的转换_Li_zhonglei的博客-CSDN博客_c++ string字符串大小写转换原创 2021-11-22 19:31:40 · 630 阅读 · 0 评论 -
结构体与模板与数组的选择
问题来源: PAT1080自己有空再写一遍吧,转自(7条消息) PAT 1080 MOOC期中成绩(25分)用STL+C++详细解读最后一个测试点(博&人&)_博&人&的博客-CSDN博客#include<iostream>#include<string>#include<vector>#include<map>#include<algorithm>using namespace std;//一原创 2021-11-21 20:28:02 · 364 阅读 · 0 评论 -
PAT1060爱丁顿数_乙级
(4条消息) 1060 爱丁顿数 理解与踩坑分析以及测试点分析_zihao_cui的博客-CSDN博客_爱丁顿数//面临问题://1.vector容器数组输出方式是?//2.Greater函数只可以传入一个参数吗?//3.vector容器对于sort函数的cmp自定义函数格式是?#include<iostream>using namespace std;#include<algorithm>#include<vector>int cmp(int a原创 2021-11-15 22:42:25 · 375 阅读 · 0 评论 -
关于int与string类型运行速度(PAT C++)
问题来源: PAT1059本题先使用的string类型进行判断和循环,测试点1,2超时#include<iostream>using namespace std;#include<cmath>#include<string>bool Is_Sushu(int num) { if (num == 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i =原创 2021-11-15 19:15:16 · 515 阅读 · 0 评论 -
PAT1054_乙级_求平均值(测试点3情况归纳及inf问题)
这里出现错误结果inf是因为分母为0测试点2: number与numbes测试点3:(1) 123.可以正常输出,但.123不行(2) 0001可以正常输出,-0.也可以,-0111.也可以(3) 测试点3还测试了合法范围:别只判断整数,小数也不能超,即1000.01不可以被输出感觉这题用c++模板函数会很好写,比如stod函数,substr函数等#include<iostream>using namespace std;#include<...原创 2021-11-13 22:42:23 · 672 阅读 · 0 评论 -
PAT1028 人口普查 测试点分析及两种写法
本题考点:1.数据量较大,需储存数据较多,使用机动战,输入一个数据处理一个数据2.数据需分类的可能情况较多,分类繁琐(比较年,比较月,比较日)3.可以考虑将年月日三个变量统一化为一个变量,类比于时分秒举例说明:aaa 2000/02/28可以转化为2000*10^4+02*10^2+28参考博客链接:https://blog.csdn.net/bawangtu/article/details/81176505测试点考察:0-一般案例 1&&2-边界条件 3-合...原创 2021-09-02 22:23:58 · 366 阅读 · 0 评论 -
PAT1052_乙级_卖个萌
本题考查字符串,字符及相关输入操作1.输入数据带有干扰项(即不会用于接下来操作)如本题输入格式为[<] 其中, [ 与 ] 即干扰项第一次的错误尝试:使用cout将[]输出于屏幕 错误原因: 注意,[ ]是输入项所,cout提取输出没有解决问题cout << '[';cin >> str[i];cout << "] ";第二次的错误尝试:使用c语言的scanf函数(scanf可以带特定字符输出)错误原因:scanf("...原创 2021-11-12 01:49:47 · 493 阅读 · 1 评论 -
PAT1051_乙级_负数乘法
本题遇到问题:保留两位小数命令在特殊情况的表现即比如: a = -0.001 在经历代码:#include<iomanip>cout<<fixed<<showpoint<<setprecision(2)<<a<<endl;后,将进行保留两位小数的操作此时,a将变成-0.00从而引发测试点2和3的报错正确代码:#include<iostream>using namespace st.原创 2021-11-11 15:30:48 · 92 阅读 · 0 评论 -
PAT1050_乙级_螺旋矩阵
这道题折腾了好久,最后发现不是二维矩阵的相关问题,而是一个很简单的小问题接下来为列出遇到的各种问题,并逐个分析本题涉及的新知识点:1.关于c语言函数在c++中的调用(头文件)#include<cstdio>cstdio: 将stdio.h的内容用c++的头文件形式表现出来标准输入输出:standardbuffered intput&&output2.二维数组的动态建立与快速排序动态建立:先创建二维指针,并申请第一维的动态空间(所申请空间储存的.原创 2021-11-11 00:00:44 · 269 阅读 · 0 评论 -
PAT1049_乙级 数列的片段和
两个知识点: long double问题 与 c++中保留小数点后位数 #include<iomanip>暴力解测试点2和3会超时#include<iostream>#include <iomanip>using namespace std;int main() { int n = 0; cin >> n; double* num = new double[n]; for (int i = 0; i < n; i++) { c原创 2021-11-09 21:21:08 · 297 阅读 · 0 评论 -
PAT_乙级_1048_数字加密
#include<iostream>using namespace std;#include<algorithm>int main() { //本题输入数值较大,故使用字符串进行计算 //本题可以提前将A与B的字符串分类,使用函数封装思想,可以精简算法 //或者提前将字符串补齐,因为无论是否补位,基本上的B-A与奇偶问题是不变的 //不要总想着分类,考虑是否可以将问题归一 //很多题都是因为强行分类,导致题目变得复杂 //处理字符串问题,使用c++更为方便.原创 2021-11-09 00:17:57 · 64 阅读 · 0 评论 -
PAT1044_Basic_火星数字(未满分,需改进)
#include<iostream>using namespace std;#include<string>#include<string.h>int main() { int n = 0; cin >> n; char s[50]; int num = 0; //char s[][]与string s[]是表示相同 char str1[13][4] = { "tam", "hel", "maa", "huh", "tou", ...原创 2021-11-04 20:48:18 · 76 阅读 · 0 评论 -
PAT1044_bug处理_string subscript out of range_string类与终止符\0的问题
#include<iostream>using namespace std;#include<string>int main() { string s; char str1[13][4] = { "tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou","0" }; string str2[13] = { "jan", "feb", "mar", "apr", ".原创 2021-11-04 16:09:13 · 515 阅读 · 0 评论 -
PAT1043_乙级_输出PATest
#include<iostream>using namespace std;int main() { string str; cin >> str; int pat[6] = { 0 }; char str1[6] = { 'P','A','T','e','s','t' }; for (int i = 0; i < str.length(); i++) { if (str[i] == 'P') pat[0]++; else if (str[i]...原创 2021-11-03 21:02:30 · 99 阅读 · 0 评论 -
PAT 1038 统计同成绩学生 Basic Level
#include<iostream>using namespace std;int main() { int m = 0; cin >> m; int* score = new int[m]; for (int i = 0; i < m; i++) { cin >> score[i]; } int n = 0; cin >> n; int* tag = new int[n]; for (int i = 0; i < n;.原创 2021-11-01 18:27:41 · 109 阅读 · 0 评论 -
PAT1035_归并与插入_小bug系列
问题:1.关于41行注释的浮点错误 ?2.关于28行归并排序可以一段4个大小,一段2个大小这样排序 ?3.关于67行判定数组b最后一次被排序的位置 ?//归并算法具体实现:以分治法为核心//1.首先进行分:递归进行左右划分,先将左边排序好,在排序右边//2.其次进行治:将左边第一项与右边第一项比较大小,小的放进最终数组内//实机操作后发现,PAT的归并不是上述算法//PAT的归并从小到大进行分割,先分割出多个大小为2的模块,然后在2的基础上,分成2*2模块,余下不足2*2的模块原创 2021-10-25 09:45:35 · 83 阅读 · 0 评论