1028. List Sorting
来源:互联网 发布:网络电话卡怎么使用 编辑:程序博客网 时间:2024/06/04 23:22
#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct stu { int id; char name[9]; int grade;}stu;int comp1(const void*a, const void*b);int comp2(const void*a, const void*b);int comp3(const void*a, const void*b);int main(){ stu data[100000]; int n, c, i; scanf("%d %d",&n,&c); for (i = 0; i < n; i++) scanf("%d %s %d", &data[i].id, data[i].name, &data[i].grade); if (c == 1) qsort(data, n, sizeof(stu), comp1); if (c == 2) qsort(data, n, sizeof(stu), comp2); if (c == 3) qsort(data, n, sizeof(stu), comp3); for (i = 0; i < n; i++) printf("%06d %s %d\n", data[i].id, data[i].name, data[i].grade); return 0;}int comp1(const void*a, const void*b){ return (*(stu*)a).id - (*(stu*)b).id;}int comp2(const void*a, const void*b){ if(!strcmp((*(stu*)a).name, (*(stu*)b).name)) return (*(stu*)a).id - (*(stu*)b).id; else return strcmp((*(stu*)a).name, (*(stu*)b).name);}int comp3(const void*a, const void*b){ if((*(stu*)a).grade== (*(stu*)b).grade) return (*(stu*)a).id - (*(stu*)b).id; else return (*(stu*)a).grade - (*(stu*)b).grade;}
0 0
- 1028. List Sorting (25)
- 1028. List Sorting
- 1028. List Sorting (25)
- 1028. List Sorting (25)
- PAT 1028. List Sorting
- 1028. List Sorting
- 1028. List Sorting
- 1028. List Sorting (25)
- 1028. List Sorting (25)
- 1028. List Sorting (25)
- 1028. List Sorting (25)
- 1028.List Sorting
- 1028. List Sorting (25)
- 1028. List Sorting (25)
- 1028. List Sorting
- 1028. List Sorting (25)
- 1028. List Sorting (25)
- 1028. List Sorting (25)
- Android Studio之Gradle版本配置
- 算法设计与应用基础作业(三)
- 关于Tree的dataurl的值的获取
- Ubuntu使用root帐号,并让Xshell, Winscp以root身份登录
- POJ 1845 Sumdiv 二分+因式分解
- 1028. List Sorting
- linux下搭建redis单机版+java连接测试
- you-get视频采集
- 数据结构-队列
- [Java开发] jdk环境搭建+eclipse字体基本设置
- 视频播放---jiecaovideoplayer的使用
- 博客搬家啦!
- LeetCode : Minimum Moves to Equal Array Elements
- poj 3258 River Hopscotch(二分)