64,648
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
using namespace std;
struct node {
string name;
double aver;
};
int cmp(node x, node y)
{
if (x.aver == y.aver)
return x.name > y.name;
else
return x.aver > y.aver;
}
int main()
{
const int size = 5;
node s[size] = {
{"Ajerej", 10.0} , {"Bjerej", 10.0} ,
{"jerej", 55.0} , {"jerej", 1.0} , { "NO_Name", 999}
};
sort(s, s + size, cmp);
for (node* ps = s; ps != s + size ; ++ps) {
cout << ps->aver << " --> " << ps->name << endl;
}
return 0;
}
#include<stdio.h>
#include<algorithm>
#include<string>
#include<string.h>
using namespace std;
struct node {
char name[11];
double aver;
};
int cmp(node x, node y)
{
if (x.aver == y.aver)
return strcmp(x.name , y.name);
else
return x.aver > y.aver;
}
int main()
{
const int size = 5;
node s[size] = {
{"Ajerej", 10.0} , {"Bjerej", 10.0} ,
{"jerej", 55.0} , {"jerej", 1.0} , { "NO_Name", 999}
};
sort(s, s + size, cmp);
for (node* ps = s; ps != s + size ; ++ps)
printf("%f -> %s\n" , ps->aver , ps->name);
return 0;
}