//把身高最高的学生的信息保存下来,新输入的学生可替换旧学生, //定义sh【】记录每个宿舍身高最高 #include <iostream> #include <string> #include <iomanip> using namespace std; class Student{ public: // Student(int n,string na,int h,int w):num(n),name(na),height(h),weight(w){ // }; int getNum(){ return num; }; int getHeight(){ return height; }; void intputStudent(Student*,int); void sortStudent(Student*,int); void outputStudent(Student*,int); private: int num; string name; int height; int weight; }; void Student::intputStudent(Student* pa,int n) { for(int i=0;i<n;i++) { int n,h,w; string na; cin>>n>>na>>h>>w; // pa[i].Student(n,na,h,w); pa[i].num=n; pa[i].name=na; pa[i].height=h; pa[i].weight=w; } } void Student::sortStudent(Student* pa,int n) { for(int i=0;i<n;i++) { for(int j=i;j<n;j++) { if(pa[i].getNum()>pa[j].getNum()||pa[i].getNum()==pa[j].getNum()&&pa[i].getHeight()<pa[j].getHeight()) { swap(pa[i],pa[j]); } } } } void Student::outputStudent(Student* pa,int n) { int k=-1; for(int i=0;i<n;i++) { if(pa[i].num!=k) { cout<<setw(6)<<setfill('0')<<pa[i].num; cout<<" "<<pa[i].name<<" "<<pa[i].height<<" "<<pa[i].weight<<endl; k=pa[i].num; } } } int main() { Student *pa; int n; cin>>n; pa=new Student[n]; pa[0].intputStudent(pa,n); pa[0].sortStudent(pa,n); pa[0].outputStudent(pa,n); delete[] pa; return 0; }