码迷,mamicode.com
首页 > 编程语言 > 详细

成绩排序

时间:2018-03-13 00:55:36      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:while   strcmp   post   algo   http   返回值   定义   mes   logs   

题目要求

技术分享图片

代码:

#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
//定义表示学生的结构体
struct E {
    char name[101];
    int age;
    int score;

    //方法一:运算符重载
    bool operator < (const E &b) const {
        if (score != b.score) return score < b.score;

        int tmp = strcmp(name, b.name);
        if (tmp != 0) return tmp < 0;
        else return age < b.age;
    }

}buf[1000];
//方法二:自定义排序规则
//bool cmp(E a, E b) {
    //if (a.score != b.score) {
        //return a.score < b.score;
    //}
    
    //int tmp = strcmp(a.name, b.name);//比较两个字符串,若s1<s2,返回值<0;若s1=s2,返回值=0;若s1>s2,返回值>0;
    //if (tmp != 0)
        //return tmp < 0;//若分数相同则名字字典小的排在前面
    //else return a.age < b.age;
//}
int main() {
    int n;
    while (scanf("%d", &n) != EOF)
    {
        for (int i = 0; i < n; i++)
        {
            scanf("%s %d %d", buf[i].name, &buf[i].age, &buf[i].score);
        }
        sort(buf, buf+n);
        for (int i = 0; i < n; i++)
        {
            printf("%s %d %d\n", buf[i].name, buf[i].age, buf[i].score);
        }
    }
    return 0;
}

成绩排序

标签:while   strcmp   post   algo   http   返回值   定义   mes   logs   

原文地址:https://www.cnblogs.com/forfly/p/8552594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!