距离PAT考试还有18天最重要的是做透每一题
这一题比较简单
不过也有学到的东西
一个是sort的第三个参数 可以是 一个函数指针也可以是一个函数对象 代码来自网络
// sort algorithm example #include <iostream> // std::cout #include <algorithm> // std::sort #include <vector> // std::vector bool myfunction (int i,int j) { return (i<j); } struct myclass { bool operator() (int i,int j) { return (i<j);} } myobject; int main () { int myints[] = {32,71,12,45,26,80,53,33}; std::vector<int> myvector (myints, myints+8); // 32 71 12 45 26 80 53 33 // using default comparison (operator <): std::sort (myvector.begin(), myvector.begin()+4); //(12 32 45 71)26 80 53 33 // using function as comp std::sort (myvector.begin()+4, myvector.end(), myfunction); // 12 32 45 71(26 33 53 80) // using object as comp std::sort (myvector.begin(), myvector.end(), myobject); //(12 26 32 33 45 53 71 80) // print out content: std::cout << "myvector contains:"; for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it) std::cout << ' ' << *it; std::cout << ' '; return 0; }
另一个是strcmp函数 比较两个c字符串的函数当两个字符串相等时就返回0第一个较小时(比较ASCII)返回值小于0
思路:
用结构体存储得到的元素
并用sort函数排序重点是cmp函数的编写
#include <cstdio> #include <vector> #include <algorithm> #include <cstring> using namespace std; int n,c; struct Re{ int id; char name[10]; int grade; Re(){ id =0; for(int i=0;i<10;i++) name[i]='