#include<iostream>
#include<string>
using namespace std;
struct Student
{
string m_name;
int m_score;
};
void swap(Student& arr1,Student& arr2)
{
Student temp;
temp=arr1;
arr1=arr2;
arr2=temp;
}
int main()
{
Student arr[20];
int num,score;
string name;
cin >> num;
for (int i = 0; i < num; i++)
{
cin >> name >> score;
arr[i].m_name=name;
arr[i].m_score=score;
}
for (int i = 0; i < num - 1; i++)
{
for (int j = 0; j < num - i - 1; j++)
{
if (arr[j].m_score < arr[j+1].m_score)
swap(arr[j],arr[j+1]);
if (arr[j].m_score == arr[j + 1].m_score)
{
if ((int)arr[j].m_name[0] > (int)arr[j + 1].m_name[0])
swap(arr[j],arr[j+1]);
}
}
}
for (int i = 0; i < num; i++)
{
cout << arr[i].m_name << " " << arr[i].m_score << endl;
}
return 0;
}
帮我看看哪里出错了