某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。

这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉。

输入格式:

输入在第一行给出正整数N,取值在(0, 105];随后N行,每行给出1个人的姓名(由不超过5个英文字母组成的字符串)、以及按“yyyy/mm/dd”(即年/月/日)格式给出的生日。题目保证最年长和最年轻的人没有并列。

输出格式:

在一行中顺序输出有效生日的个数、最年长人和最年轻人的姓名,其间以空格分隔。

输入样例:

5
John 2001/05/12
Tom 1814/09/06
Ann 2121/01/30
James 1814/09/05
Steve 1967/11/20

输出样例:

3 Tom John
应注意若所有都不符合的情况,只输出0
 #include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
typedef struct People{
char name[];
int yy;
int mm;
int dd;
}people;
int main(){
int n;
scanf("%d",&n);
char maxBir[]="2014/09/06";
char minBir[]="1814/09/06";
char name[];
char bir[];
char temp1[]="2014/09/06";
char temp2[]="1814/09/06";
char maxName[];
char minName[];
int max;
int min;
int k = ;
for(int i=;i<n;i++){
scanf("%s",name);
getchar();
scanf("%s",bir);
if(strcmp(temp1,bir)>=&&strcmp(bir,temp2)>=){
k++;
if(strcmp(maxBir,bir)>=){
strcpy(maxName,name);
strcpy(maxBir,bir);
}
if(strcmp(bir,minBir)>=){
strcpy(minName,name);
strcpy(minBir,bir);
} }
}
if(k!=)
printf("%d %s %s",k,maxName,minName);
else
printf("");
}

最新文章

  1. 静态修饰符(关键字static)
  2. CentOS安装Erlang
  3. 93、App Links (应用程序链接)实例
  4. 研究AFIncrementalStore
  5. 日志配置logback
  6. 找出指定目录下,大于指定大小的文件(LINUX SHELL)
  7. Tcp实现简单的大小写转换功能
  8. 转载 C语言中volatile关键字的作用
  9. 两列布局,读《css那些事儿》
  10. sqlserver数据库备份时出现3241问题
  11. Markdown基础语法笔记
  12. jatoolsprinter web打印控件直接打印不弹出
  13. 将python中的一个float变量转成内存的4个字节值
  14. springboot06-swagger2 自动化api文档
  15. Python之路PythonThread,第三篇,进程3
  16. 分类器评估方法:ROC曲线
  17. silverlight chart 折线图 的线颜色如何修改???
  18. win10下搭建深度学习--总结【学习笔记】
  19. latex 图形的放置
  20. Java中的Class.forName

热门文章

  1. 拓展:使用终端创建、编译、链接OC…
  2. 从Eclipse迁移到Android Studio
  3. 关于SQLSERVER2012版本远程登录问题
  4. yii2中自定义验证规则rules
  5. boneCP原理研究
  6. MongoDB Sharding、库、collection设计学习汇总
  7. 【转】分布式数据层 TDDL 来自:阿里巴巴
  8. 烂泥:CentOS命令学习之tar打包与解压
  9. eclipse 提示错误**cannot be resolved to a type
  10. Javascript为元素添加事件处理函数