【九度OJ】1061【快速排序】【C实现】【清华2000】
来源:互联网 发布:crc8校验算法 编辑:程序博客网 时间:2024/05/17 23:06
头一次用stdlib.h中的库函数qsort,还蛮简单的。另外还用了结构体
代码:
/*by qr jobdu 1061 2014-9-13tsinghua 2000 sort*/#include <stdio.h>#include <stdlib.h> //qsort 是标准库函数#include <string.h>//C结构体typedef struct Student{char name[100];int age;int grade;}Student;int cmp(const void *a,const void *b){ //返回0,认为a和b相等 返回大于0,认为a>b 返回小于0,认为a<bStudent *aa=(Student *)a;Student *bb=(Student *)b;if(aa->grade>bb->grade || (aa->grade==bb->grade && strcmp(aa->name,bb->name)>0) || (aa->grade==bb->grade && strcmp(aa->name,bb->name)==0 && aa->age>bb->age))return 1;else if(aa->grade==bb->grade && strcmp(aa->name,bb->name)==0 && aa->age==bb->age)return 0;return-1; //直接返回即可}int main(){int n;Student stu[1000];while(scanf("%d",&n)!=EOF){int i;for(i=0;i<n;i++){scanf("%s",&stu[i].name);scanf("%d",&stu[i].age);scanf("%d",&stu[i].grade);}qsort(stu,n,sizeof(stu[0]),cmp);for(i=0;i<n;i++){printf("%s %d %d\n",stu[i].name,stu[i].age,stu[i].grade);}}return 0;}//void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );
0 0
- 【九度OJ】1061【快速排序】【C实现】【清华2000】
- 【九度OJ】1060【模拟】【C实现】【清华2000】
- 【九度OJ】1167【快速排序】【计算名次】【C实现】
- 九度考研真题 清华 2000-4清华1061:成绩排序 sort多重排序
- 【九度OJ】1005【快速排序】
- 【九度OJ】1014【快速排序】
- 九度OJ 1066 清华01机试题之字符串排序
- 九度OJ 1061: 成绩排序
- 【王道九度OJ】1061成绩排序
- 九度OJ题目1061:成绩排序
- 九度OJ 题目1061:成绩排序
- 九度 OJ 1061:成绩排序
- 九度OJ 1061 成绩排序
- 九度OJ 1061 成绩排序
- 九度OJ-1061:成绩排序
- 题目1061:成绩排序 九度OJ
- 九度OJ题目1061:成绩排序
- 九度OJ 1063 清华机试之整数和。
- QML类型说明-IRProximityReading
- Java override 注意事项
- C# 哈夫曼树
- TCP 长连接和短连接
- 基于老罗的freg案例,使用NDK工具调用驱动流程详细分析
- 【九度OJ】1061【快速排序】【C实现】【清华2000】
- 面试必会函数源代码 strcpy/memcpy/atoi/kmp/quicksort
- iOS8 Size Classes初探
- xml的约束技术Schema、dtd
- PHP 5.6 + IIS 7.0配置
- QML类型说明-IRProximitySensor
- hdu3486 RMQ+二分
- WeChatCallBack.php框架基类实现
- Power-BI助多喜爱快时尚