第二个怎么处理啊,给点方法

img

#include <iostream>
#include <string>
using namespace std;
class Student
{
private:
    int score;
    char name[20];
public:
    void setScore(int d){score = d;}
    void setName(char* n)
    {
        memset(name,0,20);
        memcpy(name,n,strlen(n)>20?20:strlen(n));
    }
    int getScore(){return score;}
    char* getName(){return name;}
};


int main()
{
    Student a[5];
    int i;
    int  id;
    char name[20];
    for (i=0;i< 5;i++)
    {
        cout << "请输入学生" << i+1 << "的姓名:"; 
        memset(name,0,20);
        cin >> name;
        cout << "请输入学生" << i+1 << "的成绩:";
        cin >> id;

        a[i].setName(name);
        a[i].setScore(id);
    }
    //计算最高成绩
    Student max = a[0];
    for (i=1;i<5;i++)
    {
        if(a[i].getScore() > max.getScore())
        {
            max = a[i];
        }
    }
    cout << "最高成绩"  << max.getScore() << "   姓名:" << max.getName() << endl;
    return 0;
}