结构体-输入成绩排序

输入指定数量学生的姓名、语文、数学成绩,按总分从高到低排序

代码:

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct stu
{
    string name;
    int yw,sx,zf;
} a[100];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i].name>>a[i].yw>>a[i].sx;
        a[i].zf=a[i].yw+a[i].sx;
    }
    for(int i=1;i<n;i++)
    {
        for(int j=0;j<i;j++)
        {
            if(a[j].zf<a[j+1].zf)
            {
                swap(a[j],a[j+1]);
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        cout<<a[i].name<<" "<<a[i].yw<<" "<<a[i].sx<<" "<<a[i].zf<<endl;
    }
}

运行结果:

原文地址:https://www.cnblogs.com/wanjinliu/p/11397290.html

时间: 2024-10-17 17:44:44

结构体-输入成绩排序的相关文章

sort+结构体实现二级排序

之前介绍的sort函数由于其效率较高,使用较为简单让我用起来那叫一个爽,今天再写一篇使用sort+结构体实现二级排序的方法. 还是先想个问题吧,比如我想输入5个同学的名字和身高,然后得到他们身高的降序,但是如果出现相同身高的情况,名字的拼音靠前的排在前面. 好,现在这个问题已经涉及到了二级排序,要按照身高的降序和姓名的升序排列,那么就要先定义一个结构体,将姓名和身高都包含进去,然后用sort对结构体排序,而实现二级排序,关键在于自己写的cmp函数(sort的比较方法) 1 #include<io

4.19 使用qsort对结构体数组进行排序,实现对结构的体一级排序和二级排序,进一步了解qsort的原理

qsort对结构体数组进行排序时,可以根据结构体元素中的任意某个成员进行比较之后,如果要交换则会连带结构体中其他成员的一起进行整体的结构体元素交换所以感觉真是万能排序接口 只进行对结构体的一级排序 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct _stu { char name[10]; float score; }Stu; int callBackCompare(con

使用qsort对结构体的数据排序

1007 DNA 排序 题目大意: 序列“未排序程度”的一个计算方式是元素乱序的元素对个数.例如:在单词序列“DAABEC'”中,因为D大于右边四个单词,E大于C,所以计算结果为5.这种计算方法称为序列的逆序数.序列“AACEDGG”逆序数为1(E与D)——近似排序,而序列``ZWQM'' 逆序数为6(它是已排序序列的反序). 你的任务是分类DNA字符串(只有ACGT四个字符).但是你分类它们的方法不是字典序,而是逆序数,排序程度从好到差.所有字符串长度相同. 输入: 第一行包含两个数:一个正整

结构体数组的排序

按照结构体数组的某一项排序,那么一个结构体包含的元素仍保持不变 结果如下: 代码: 1 #include<algorithm> 2 #include<iostream> 3 using namespace std; 4 5 const int M = 3; 6 7 struct two { 8 double w; 9 double v; 10 }ss[M]; 11 bool cmp(two a,two b) 12 { 13 return a.v > b.v; //按照从大到小

c++结构体双关键字排序

1 #include<bits/stdc++.h> 2 using namespace std; 3 struct node{ 4 int l,r; 5 }num[100010]; 6 int w_comp(const node &a,const node &b){ 7 if (a.l!=b.l) return a.l>b.l;//先比较第一个关键字,从大到小排序 8 return a.r<b.r;//比较第二个关键字,从小到大排序 9 } 10 int main(

15-07-10 结构体-输入学生成绩进行排序

输入每个学生的学习成绩,根据总分进行排序           struct Student          {          public string name;          public int age;          public double Cshap;          public double Database;          public double Html;          public double sum;          }        

结构体 输入学号 姓名 身高 按身高从高到低排序

题目1013:开门人和关门人(结构体自定义cmp排序)

题目链接:http://ac.jobdu.com/problem.php?pid=1013 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: // // 1013 开门人和关门人.cpp // Jobdu // // Created by PengFei_Zheng on 28/04/2017. // Copyright © 2017 PengFei_Zheng. All rights reserved. // #include <st

HDU 1031.Design T-Shirt【结构体二次排序】【8月21】

Design T-Shirt Problem Description Soon after he decided to design a T-shirt for our Algorithm Board on Free-City BBS, XKA found that he was trapped by all kinds of suggestions from everyone on the board. It is indeed a mission-impossible to have eve