zoukankan      html  css  js  c++  java
  • qsort实现结构体数组排序

    要注意强制转换

    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct{
    	int num;
    	char name[20];
    	float chinese;
    	float math;
    	float english;
    }Stu,*pStu;
    #define N 3
    void arrPrint(pStu sArr)
    {
    	int i;
    	for(i=0;i<N;i++)
    	{
    		printf("%d %10s %5.2f %5.2f %5.2f
    ",sArr[i].num,sArr[i].name,sArr[i].chinese,sArr[i].math,sArr[i].english);
    	}
    }
    int compare(const void* pleft,const void* pright)
    {
    	pStu p1=(pStu)pleft;
    	pStu p2=(pStu)pright;
    	if(p1->chinese>p2->chinese)
    	{
    		return 1;
    	}else if(p1->chinese<p2->chinese)
    	{
    		return -1;
    	}else{
    		return 0;
    	}
    }
    int main()
    {
    	Stu sArr[N];
    	int i;
    	for(i=0;i<N;i++)
    	{
    		scanf("%d%s%f%f%f",&sArr[i].num,sArr[i].name,&sArr[i].chinese,&sArr[i].math,&sArr[i].english);
    	}
    	printf("----------------------------
    ");
    	arrPrint(sArr);
    	qsort(sArr,N,sizeof(Stu),compare);
    	printf("----------------------------
    ");
    	arrPrint(sArr);
    	system("pause");
    }
    
  • 相关阅读:
    Source Insight新建工程文件
    移植3.4.2内核之韦东山笔记
    移植最新u-boot(裁剪和修改默认参数)
    C++与C语言在结构体上的区别
    VIP之Switch
    VIP之CSC
    VIP之Scaler
    VIP之FrameBuffer
    VIP之MixerII
    VIP之Clipper
  • 原文地址:https://www.cnblogs.com/Mered1th/p/10667895.html
Copyright © 2011-2022 走看看