xu_haiao 2021-08-29 12:09 采纳率: 50%
浏览 45
已结题

想写出一个排序函数不知道怎么写

已知:
给定两个向量(vector),一个向量里存放多个准考证号(八位准考证号),另一个向量存放对应准考证号学生的成绩
函数要求:
按照成绩把第二个向量中的成绩从大到小排列,然后第一个向量中的准考证号位置同样变化

这个函数的作用就是把向量进行排列,没什么返回值。

如果向量不会的话,数组方法也可以。
谢谢大家

  • 写回答

2条回答 默认 最新

  • aabyte 2021-08-29 12:51
    关注

    按题主题目写的:

    #include <iostream>
    using namespace std;
    struct Student
    {
        string number; //考生号 
        double score;  //成绩 
    };
    void sort(struct Student* p,int n) //排序函数 
    {
        for(int j=0;j<n-1;j++)
        {
            for(int i=0;i<n-1;i++)
            {
                if(p[i].score<p[i+1].score) //冒泡排序 
                {
                    struct Student temp=p[i];
                    p[i]=p[i+1];
                    p[i+1]=temp;
                }
            }
        }
    }
    int main()
    {
        int n=0;
        cout<<"输入人数:"<<endl;
        cin>>n; //输入考生人数n
        struct Student* p=new struct Student[n];
        for(int i=0;i<n;i++)
        {
            cin>>p[i].number>>p[i].score; //输入n个考生的考生号和成绩 
        }
        sort(p,n);
        cout<<"排序后:"<<endl;  
        for(int i=0;i<n;i++)
        {
            cout<<p[i].number<<" "<<p[i].score<<endl;
        }
        return 0;
    }
    

    有帮助望采纳,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月6日
  • 已采纳回答 8月29日
  • 创建了问题 8月29日

悬赏问题

  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?