PAT|乙级PAT1011-1015答案详解与重要知识点(2021.9.21-2021.9.26)
文章目录
-
- 1011
- 1012
- 1013
- 1014
- 1015
1011
#include
using namespace std;
struct num{double A;
double B;
double C;
string result;
}num[10];
int main(){int T;
cin>>T;
for(int i=0;
i>num[i].A>>num[i].B>>num[i].C;
}
for(int i=0;
inum[i].C)
num[i].result="true";
else
num[i].result="false";
}
for(int i=0;
i
1.基本数据类型的数据范围
int类型(四个字节):-231~231-1;long类型(八个字节):-263~-263-1
float类型(四个字节);double类型(八个字节)
1012
#include
#include
using namespace std;
int main()
{int N;
cin>>N;
int num[N];
float A[5]={
0};
for(int i=0;
i>num[i];
for(int i=0;
iA[4])
A[4]=num[i];
}
}for(int i=0;
i<5;
i++){if(A[i]==-1)
cout<<'N';
else if(i==3)
printf("%.1f",A[i]);
else
cout<
1.printf格式化输出
(1)整数
d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出
%-md:m为指定的输出字段的宽度。如果数据的位数小于m,则右端补以空格,若大于m,则按实际位数输出
%0md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以’0’,若大于m,则按实际位数输出
(2)浮点数
f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%.nf:其中有n位小数,数值宽度不变
%m.nf:输出共占m列,其中有n位小数,若数值宽度小于m左端补空格。
%-m.nf:输出共占m列,其中有n位小数,若数值宽度小于m右端补空格。
(3)字符串
s格式:用来输出一个串。有几中用法
%s:例如:printf("%s", “CHINA”)输出"CHINA"字符串(不包括双引号)
%ms:输出的字符串占m列,如果字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
2.判断语句
若第一个if判断为真,则执行完语句1就退出该判断体,不再执行后面的else if和else,即使elseif也为真也不执行。
if(){//语句1
}
else if(){//语句2
}
else{//语句3
}
1013
#include
#include
#include
using namespace std;
bool isPriem(int num){if(num==1||num==4)
return 0;
else if(num==2||num==3)
return 1;
if(num%2==0)
return 0;
int temp=sqrt(num);
for(int i=3;
i<=temp+1;
i+=2)
if(num%i==0)
return 0;
return 1;
}int main(){int m,n;
int sum=0;
int p[10000];
cin>>m>>n;
for(int i=1;
sum<10000;
i++){if(isPriem(i)){p[sum]=i;
sum++;
}
}
for(int i=m-1;
i<=n-1;
i++){cout<
1014
#include
#include
using namespace std;
int main(){char c[3];
int c2;
int flag1=0;
string s1,s2,s3,s4;
cin>>s1>>s2>>s3>>s4;
int l1,l2,l3,l4;
l1=s1.size();
l2=s2.size();
l3=s3.size();
l4=s4.size();
for(int i=0;
i='A'&&s1[i]<='G'))
continue;
if(!(s2[i]>='A'&&s2[i]<='G'))
continue;
if(s1[i]==s2[i]){c[0]=s1[i];
flag1=i;
break;
}}
for(int i=flag1+1;
i='A'&&s1[i]<='N')||(s1[i]>='0'&&s1[i]<='9')))
continue;
if(!((s2[i]>='A'&&s2[i]<='N')||(s2[i]>='0'&&s2[i]<='9')))
continue;
if(s1[i]==s2[i]){c[1]=s1[i];
break;
}
}
for(int i=0;
i='A'&&s3[i]<='Z')||(s3[i]>='a'&&s3[i]<='z')))
continue;
if(!((s4[i]>='A'&&s4[i]<='Z')||(s4[i]>='a'&&s4[i]<='z')))
continue;
if(s3[i]==s4[i]){c2=i;
break;
}
}
//cout<='0'&&c[1]<='9')
printf("%02d:",c[1]-'0');
else
cout<
1015
#include
using namespace std;
struct st{string xh;
int de;
int cai;
int sum;
};
bool cp(st a,st b){if( a.sum!=b.sum)
returna.sum> b.sum;
if(a.de != b.de )
return a.de>b.de;
if(a.xh!=b.xh)
return a.xh>n>>l>>h;
st std0;
vector> std[4];
int sum=0;
for(int i=0;
i>std0.xh>>std0.de>>std0.cai;
std0.sum=std0.de+std0.cai;
if(std0.de>=h&&std0.cai>=h)
std[0].push_back(std0);
else if(std0.de>=h&&std0.cai>=l)
std[1].push_back(std0);
else if(std0.de>=l&&std0.cai>=l&&std0.de>=std0.cai)
std[2].push_back(std0);
else if(std0.de>=l&&std0.cai>=l)
std[3].push_back(std0);
else
sum++;
}
cout<
1.多关键字比较sort(start,end,cmp)
start、end为数据的位置,sort对start到end-1进行排序。
cmp为自定义bool返回值的函数。
//多关键字排序,先对sum进行降序,再对de进行降序,在对xh进行升序
struct st{string xh;
int de;
int cai;
int sum;
};
bool cmp(st a,st b){if( a.sum!=b.sum)
returna.sum> b.sum;
if(a.de != b.de )
return a.de>b.de;
if(a.xh!=b.xh)
return a.xh
2.可以用一个变量来暂存输入的数据,在一个循环中边输入边判断(省时省空间);也可以用数组在一个循环里输入数据,再在另一个循环里判断(费时费空间)
【PAT|乙级PAT1011-1015答案详解与重要知识点(2021.9.21-2021.9.26)】3.题目要求结尾无空行,可以在最后一个数据输出时有
cout<,不会造成格式错误(因为endl
只是结束该行,并不会输出一个空行)。但题目要求结尾无空格则不行。
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Python(pathlib模块)
- Realm
- View·dispatchTouchEvent|View·dispatchTouchEvent 源码分析(四)
- 古有商鞅变法,今有Pathways攻占头马
- 运行报错Cannot|运行报错Cannot find module '@babel/compat-data/corejs3-shipped-proposals’
- C#|C# 文件路径操作
- mac升级之(xcrun:|mac升级之:xcrun: error: invalid active developer path, missing xcrun)
- ContextCompat
- 《七天爬虫进阶系列》|《七天爬虫进阶系列》 - 02 数据解析之 XPath
- node.js-path模块你了解多少