- #include<stdio.h>
- #include<stdlib.h>
- struct Node
- {
- int x;
- int y;
- int z;
- }m[1000];
- int cmp(const void *p1,const void *p2)
- {
- struct Node *c=(Node *)p1;
- struct Node *d=(Node *)p2;
- if(c->x!=d->x) return d->x-c->x; //一级由大到小排序
- else if(c->y!=d->y) return c->y-d->y;//二级由小到大排序
- else return d->z-c->z; //三级由大到小排序
- }
- int main()
- {
- int t,s;
- scanf("%d",&t);
- while(t--)
- {
- scanf("%d",&s);
- for(int i=0;i<s;i++)
- {
- scanf("%d %d %d",&m[i].x,&m[i].y,&m[i].z); //将数据存入对应结构体//
- }
- qsort(m,s,sizeof(m[0]),cmp); //排序从吗【0】->sizeof(a[0])//
- printf("%d\n",m[0].z);
- }
- return 0;
- }
选择使用结构体虽然是复杂了问题,但可以加深对数组结构体的了解,