PAT考试乙级1045(C语言实现)重点题目(思路)
2017-11-25 17:58
323 查看
#include<iostream> #include<algorithm> #include<string.h> using namespace std; int main(){ int num=0,i=0,max=0,count=0; int a[100005]={0},b[100005]={0},m[100005]={0}; scanf("%d",&num); for(i=0;i<num;i++){ scanf("%d",&a[i]); b[i]=a[i]; } sort(a,a+num); for(i=0;i<num;i++){ if(b[i]>max) max=b[i]; if(a[i]==b[i]&&a[i]==max) m[count++]=a[i]; } printf("%d\n",count); if(count==0) printf("\n"); for(i=0;i<count;i++){ if(i!=count-1) printf("%d ",m[i]); else printf("%d",m[i]); } return 0; }
总结:
1、主要思想是某个数原来的位置和排序后的位置相同,并且改数必须是左边数中的最大值。
2、有个小插曲,我用的Microsoft Visual C++ 2010 Express编译器int类型数组最大五位,a[100005]会出现数组越界。
相关文章推荐
- PAT考试乙级1054(C语言实现) (重点题目)(思路)
- PAT考试乙级1048(C语言实现)重点题目(思路、用到了memset)
- PAT考试乙级1050(C语言实现) (重点题目)(memset以及思路)
- PAT考试乙级1028(C语言实现)重点题目
- PAT考试乙级1033(C语言实现)重点题目 部分正确(已解决)
- PAT考试乙级1034(C语言实现)重点题目
- PAT考试乙级1035(C语言实现)重点题目(排序)
- PAT考试乙级1030(C语言实现)重点题目
- PAT考试乙级1019(C语言实现) 重点题目
- PAT考试乙级1050(C语言实现) (重点题目)(按格式读取,使用容器vector)
- PAT考试乙级1031(C语言实现)重点题目
- PAT考试乙级1055(C++语言实现) (重点题目)(思路)
- PAT考试乙级1050(C语言实现) (重点题目)(关于保留小数的坑)
- PAT考试乙级1024(C语言实现)重点题目
- PAT考试乙级1021(C语言实现)
- PAT考试乙级1032(C语言实现)
- PAT考试乙级1005(C语言实现)
- PAT考试乙级1037(C语言实现)
- PAT考试乙级1016(C语言实现)
- PAT考试乙级1022(C语言实现)