Explanation

此题关键在于qsort()函数的应用.
可供参考(qsort函数分析):

https://blog.csdn.net/yzl_rex/article/details/7874513
https://blog.csdn.net/qq_38851937/article/details/89260263

Code

#include <stdio.h>
#include <stdlib.h>  //使用qsort()需要引入的STL(Standard Template Library)头文件
#define Max 100000typedef struct grade{int num;int de;int cai;
}stu;int cmp(const void *a, const void *b);
void printType(stu s[], int j);int main(int argc, char *argv[]) {int N,L,H;int i,i1,i2,i3,i4;i1=i2=i3=i4=0;stu s, type01[Max], type02[Max], type03[Max], type04[Max]; scanf("%d %d %d", &N,&L,&H);for(i=0; i<N; i++){scanf("%d %d %d", &s.num, &s.de, &s.cai);if(s.de>=L && s.cai>=L){if(s.de>=H && s.cai>=H)//才德全尽type01[i1++]=s;     else if(s.de>=H)//德胜才type02[i2++]=s;else if(s.de>=s.cai) // 尚有“德胜才”type03[i3++]=s;else//其他    type04[i4++]=s;  } }qsort(type01,i1,sizeof(stu),cmp); qsort(type02,i2,sizeof(stu),cmp);qsort(type03,i3,sizeof(stu),cmp);qsort(type04,i4,sizeof(stu),cmp);printf("%d\n", i1+i2+i3+i4);printType(type01, i1);printType(type02, i2);printType(type03, i3);printType(type04, i4);return 0;
}int cmp(const void *a, const void *b)
{stu *s1, *s2;int sum1, sum2;s1 = (stu *)a;s2 = (stu *)b;sum1 = s1->de + s1->cai;sum2 = s2->de + s2->cai;//考生按输入中说明的规则从高到低排序。//当某类考生中有多人总分相同时,按其德分降序排列;若德分也并列,则按准考证号的升序输出。if(sum1 != sum2) return sum2-sum1;else if(s1->de != s2->de) return s2->de-s1->de;else return s1->num-s2->num;
}void printType(stu s[], int j)
{int i;for(i=0; i<j; i++)printf("%d %d %d\n", s[i].num, s[i].de, s[i].cai);
}

PTA 1015 德才论(C语言实现)相关推荐

  1. PTA 1015 德才论 (25分) ,满分代码 + 测试点报错解决

    知识点 构造sort的排序函数时,string类型可直接比较大小 面对函数的栈器存储空间有限,当出现栈溢出问题时,可将变量命名为全局变量. 测试点2.3.4错误的原因,第一次误以为是由于数据过大,导致 ...

  2. PAT 1015 德才论(C语言)

    宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...

  3. PAT乙级-1015 德才论-C语言实现(40行AC)

    考察知识点归纳: 1.对每组输入进行分类判断储存 2.对数组按要求排序 #include<stdio.h> #include<stdlib.h> typedef struct{ ...

  4. C++学习之路 | PTA乙级—— 1015 德才论 (25分)(精简)

    1015 德才论 (25分) 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人 ...

  5. PTA—念数字(C语言)两种方法

    PTA-念数字(C语言)两种方法 输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出fu字.十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: ...

  6. PAT乙 1015 德才论 C++

    PAT乙 1015 德才论 C++ 题目 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才 ...

  7. PTA 浙大版《C语言程序设计实验与习题指导(第3版)》题目集(参考代码)

    已完结 本题目集是博主初学C语言时写的,若有错误,欢迎指正. 注:其中有些题的代码参考了其他人. 另一套题目集:PTA浙大版<C语言程序设计(第3版)>题目集(参考代码) 其他题目集: P ...

  8. PAT 乙级 1015 德才论 (25 分)

    1015 德才论 (25 分) 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小 ...

  9. **PTA:浙大版《C语言程序设计(第3版)》编程题答案*

    PTA:浙大版<C语言程序设计(第3版)>编程题答案 练习2-3 输出倒三角图案 练习2-4 温度转换 练习2-6 计算物体自由下落的距离 练习2-8 计算摄氏温度 练习2-9 整数四则运 ...

最新文章

  1. Java访问权限(详尽版)
  2. 织梦图集php,织梦图集在首页、列表页、内容页调用图集所有图片及注释的方法...
  3. BugKuCTF WEB 你必须让他停下
  4. 如何认识物联网?还云里雾里不?
  5. 又一位纯手工打造CPU的牛人,并且汇编语言实现类Unix系统,支持文件系统
  6. 手把手教你用1行代码实现人脸识别 -- Python Face_recognition
  7. 贪吃蛇python小白_面向 python 小白的贪吃蛇游戏
  8. 马化腾:5G和AI双核驱动下,产业互联网的春天来了
  9. MyEclipse的代码提示功能
  10. 6U VPX 电源产品学习资料第411篇:基于6U VPX的700W/1400W 电源产品
  11. SysCeo_Win7_Classic_V7.8_32位+64位(6in1)纯净经典版
  12. php 监控网站是否宕机,利用网站监控随时知道网站宕机
  13. 特征探索性分析Exploring_features
  14. ASO优化中关键词设置是否需要逗号,aso关键词逗号隔开
  15. electron深入浅出
  16. 格兰杰检验的基本步骤_如何用格兰杰检验、协整对数据进行分析_格兰杰因果检验...
  17. 银河麒麟操作系统添加新硬盘后流程
  18. 如何在笔试的时候绕开切屏提示
  19. 低分辨率人脸识别(LRFR)相关文章整理——(待更)
  20. SpringCloud—笔记(三)高级篇

热门文章

  1. python selenium 用js删除 readonly属性
  2. 对 WKWebView js交互的简单封装
  3. 12月份参加工作的年假怎么休_你好,我是1996年12月15日参加工作,2016年的年休假怎么计算,谢谢!...
  4. 1-7-04:石头剪子布
  5. async之诗句慢慢出现
  6. 数据结构中堆栈和内存堆栈的区别
  7. js实现九九乘法表(两种方法)
  8. V8引擎和JS垃圾回收机制的详解
  9. 如何高速下载国外资源
  10. mysql sql注释符号_SQL注入注释符(#、-- 、/**/)使用条件及其他注释方式的探索