橙橙橙橙166 2022-06-23 15:00 采纳率: 85.2%
浏览 33
已结题

c++结构体qsort


#include<iostream>
#include<iomanip>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<vector>
#include<stdio.h>
#include<algorithm>
#include<cmath>
using namespace std;
struct stu{
    string name;
    int li;
    int shi;
}student[1010];
int cmp(const void*x,const void*y){
    struct stu* xx = (struct stu*)x;
    struct stu* yy = (struct stu*)y;
    return (yy->li+yy->shi)-(xx->li+xx->shi);
}
int main(){
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        
        for(int i=0;i<n;i++){
            cin>>student[i].name>>student[i].li>>student[i].shi;
        }
        qsort(&student[0], sizeof(student) / sizeof(student[0]), sizeof(student[0]), cmp);
        
        for(int j=0;j<n;j++){
            cout<<student[j].name<<endl;
        }
    }
    
}

为什么这会有问题?

img

  • 写回答

1条回答 默认 最新

  • 浪客 2022-06-23 15:54
    关注
    
    struct stu
    {
        char name[20]; //string name
        int li;
        int shi;
    };
    
    int cmp(const void *x, const void *y)
    {
        struct stu *xx = (struct stu *)x;
        struct stu *yy = (struct stu *)y;
        return (yy->li + yy->shi) - (xx->li + xx->shi);
    }
    int main()
    {
        int t;
        cin >> t;
        while (t--)
        {
            int n;
            cin >> n;
            struct stu *student = new struct stu[n];
    
            for (int i = 0; i < n; i++)
            {
                cin >> student[i].name >> student[i].li >> student[i].shi;
            }
            qsort(student, n, sizeof(stu), cmp);
    
            for (int j = 0; j < n; j++)
            {
                cout << student[j].name << endl;
            }
            delete student;
        }
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月1日
  • 已采纳回答 6月23日
  • 创建了问题 6月23日

悬赏问题

  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动