PAT乙级C语言 1028 人口普查
思路
判断是否符合要求并计数,把符合的结构输入另一个数组,对该数组进行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 人口普查相关推荐
- 【PAT (Basic Level) 】1028 人口普查 (20 分)
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人.这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
- PAT乙级1028 人口普查 (20 分)
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- 【PAT乙级】1028 人口普查
目录 一.题目 二.我的AC代码 一.题目 1028 人口普查 (20分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合 ...
- 【PAT】1028 人口普查
一.题目描述 PAT 1028 人口普查 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有 ...
- C++学习之路 | PTA乙级—— 1028 人口普查 (20 分)(精简)
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- 【2020模拟考试T3】【PAT乙】1028 人口普查 (20分) 字符串比较
problem 1028 人口普查 (20分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇 ...
- 1028 人口普查(C语言)
1028 人口普查 题目描述 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 ...
- PTA 1028 人口普查 (c语言)
1028 人口普查 (20 分) 分析:这个题还是比较直接的,没有什么坑.我在这里是写了一个专门用以比较的函数,然后比较的时候把他们的年月日当成一个大数字来比较. typedef struct{cha ...
- PAT 1028 人口普查
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
最新文章
- 那些重金投入区块链的互联网巨头,现在怎样了?|BCCon
- 广东计算机应用基础试题及答案2019,2019年计算机应用基础试题库及答案.pdf
- 银行流水你真的会看吗?
- java实体类如果不重写toString方法,会如何?
- java 按照概率生成随机数_JAVA 根据设置的概率生成随机数的方法
- 高性能JavaScript-JS脚本加载与执行对性能的影响
- 如何通过破解hash来获取管理员密码(转)
- python人脸识别防小偷_Python人脸识别
- 洛谷——P1615 西游记公司
- Vue进阶之表单控件绑定
- TiledMap简介
- Css选择器权重排序详解+权重计算
- 苹果carplay下载_苹果宣布推出CarPlay
- Mycat生产实践---分表分库案例
- zipf定律,二八定律,流行度,点击率均可使用
- Python 列表内【自定义排序】
- 自己写C#用汽车诊断卡对MIT电机做调试
- 百花齐放的国产数据库
- css字体倾斜角度_css怎么设置倾斜的字体样式?(代码详解)
- 快来,分享两款好用的制图软件
热门文章
- 华为云灾备解决方案,助力企业高效构建安全合规云灾备系统
- Android权限申请之动态申请权限
- matlab可视化界面怎么修改,matlab可视化界面
- 企业级呼叫中心 如何构建?
- windowsXP服务详解
- webview卡顿_分享三个小技巧,微信卡顿的人千万不要错过哦
- 【C语言实现共享栈】关于【共享栈】,你知道多少,快来看看吧
- 2021年中国多晶硅产量、进出口及重点企业营收情况:多晶硅产量为50.5万吨,产能约52万吨/年[图]
- 太美医疗科技CTMS临床试验项目管理系统的全新升级
- 编程的第二个十年:关于Real™编程器的全部