思路

判断是否符合要求并计数,把符合的结构输入另一个数组,对该数组进行qsort排序,然后输出第一个和最后一个元素里的相关成员

推荐

我觉得这个写的很好(呜呜呜我写了七十几行人家写二十几行就好了,差距好大)

PAT乙级1028. 人口普查(C语言)_对方北方-CSDN博客

#include<stdio.h>
#include<stdlib.h>
typedef struct{char name[10];int year,month,date;
}citizen;
int cmp(const void*a,const void*b){citizen*pa=(citizen*)a;citizen*pb=(citizen*)b;int num1=pa->year;int num2=pb->year;int num3=pa->month;int num4=pb->month;int num5=pa->date;int num6=pb->date;if(num1!=num2){return num1-num2;}else{if(num3!=num4){return num3-num4;}else{if(num5!=num6){return num5-num6;}}}return 0;
}int main(){int N;scanf("%d",&N);citizen a[100000],b[100000];int cnt=0;int m=0;for(int i=0;i<N;i++){scanf("%s %d/%d/%d",a[i].name,&a[i].year,&a[i].month,&a[i].date);if(a[i].year>1814&&a[i].year<2014){cnt++;b[m]=a[i];m++;}else if(a[i].year==1814){if(a[i].month>9){cnt++;b[m]=a[i];m++;}if(a[i].month==9&&a[i].date>=6){cnt++;b[m]=a[i];m++;}}else if(a[i].year==2014){if(a[i].month==9&&a[i].date<=6){cnt++;b[m]=a[i];m++;}if(a[i].month<9){cnt++;b[m]=a[i];m++;}}}qsort(b,m,sizeof(citizen),cmp);if(cnt==0){printf("0");}else{printf("%d %s %s",cnt,b[0].name,b[m-1].name);}return 0;
}

PAT乙级C语言 1028 人口普查相关推荐

  1. 【PAT (Basic Level) 】1028 人口普查 (20 分)

    某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人.这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...

  2. PAT乙级1028 人口普查 (20 分)

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

  3. 【PAT乙级】1028 人口普查

    目录 一.题目 二.我的AC代码 一.题目 1028 人口普查 (20分)   某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人.   这里确保每个输入的日期都是合 ...

  4. 【PAT】1028 人口普查

    一.题目描述 PAT 1028 人口普查 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有 ...

  5. C++学习之路 | PTA乙级—— 1028 人口普查 (20 分)(精简)

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

  6. 【2020模拟考试T3】【PAT乙】1028 人口普查 (20分) 字符串比较

    problem 1028 人口普查 (20分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇 ...

  7. 1028 人口普查(C语言)

    1028 人口普查 题目描述 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 ...

  8. PTA 1028 人口普查 (c语言)

    1028 人口普查 (20 分) 分析:这个题还是比较直接的,没有什么坑.我在这里是写了一个专门用以比较的函数,然后比较的时候把他们的年月日当成一个大数字来比较. typedef struct{cha ...

  9. PAT 1028 人口普查

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

最新文章

  1. 那些重金投入区块链的互联网巨头,现在怎样了?|BCCon
  2. 广东计算机应用基础试题及答案2019,2019年计算机应用基础试题库及答案.pdf
  3. 银行流水你真的会看吗?
  4. java实体类如果不重写toString方法,会如何?
  5. java 按照概率生成随机数_JAVA 根据设置的概率生成随机数的方法
  6. 高性能JavaScript-JS脚本加载与执行对性能的影响
  7. 如何通过破解hash来获取管理员密码(转)
  8. python人脸识别防小偷_Python人脸识别
  9. 洛谷——P1615 西游记公司
  10. Vue进阶之表单控件绑定
  11. TiledMap简介
  12. Css选择器权重排序详解+权重计算
  13. 苹果carplay下载_苹果宣布推出CarPlay
  14. Mycat生产实践---分表分库案例
  15. zipf定律,二八定律,流行度,点击率均可使用
  16. Python 列表内【自定义排序】
  17. 自己写C#用汽车诊断卡对MIT电机做调试
  18. 百花齐放的国产数据库
  19. css字体倾斜角度_css怎么设置倾斜的字体样式?(代码详解)
  20. 快来,分享两款好用的制图软件

热门文章

  1. 华为云灾备解决方案,助力企业高效构建安全合规云灾备系统
  2. Android权限申请之动态申请权限
  3. matlab可视化界面怎么修改,matlab可视化界面
  4. 企业级呼叫中心 如何构建?
  5. windowsXP服务详解
  6. webview卡顿_分享三个小技巧,微信卡顿的人千万不要错过哦
  7. 【C语言实现共享栈】关于【共享栈】,你知道多少,快来看看吧
  8. 2021年中国多晶硅产量、进出口及重点企业营收情况:多晶硅产量为50.5万吨,产能约52万吨/年[图]
  9. 太美医疗科技CTMS临床试验项目管理系统的全新升级
  10. 编程的第二个十年:关于Real™编程器的全部