这道题一开始敲了很多代码,最后还有几个测试点不过。。
最后看了一个大神的代码给我很多启发,然后看懂了自己照着敲了一遍如下。大神代码:PAT Basic 1028. 人口普查(20)(C语言实现)
用strcmp会很方便
#include <stdio.h>
#include <string.h>
int main()
{
int N, count = 0;
char peo[17], old[17] = {"9"}, young[17] = {"0"};
scanf("%d", &N);
for(int i = 0; i < N; i++)
{
scanf("%s%s",peo + 11, peo);
if(strcmp(peo, "2014/09/06") <= 0 && strcmp(peo, "1814/09/06") >= 0)
{
if(strcmp(peo, old) <= 0)
memcpy(old, peo, 17);
if(strcmp(peo, young) >= 0)
memcpy(young, peo, 17);
count++;
}
}
if(count)
printf("%d %s %s", count, old + 11, young +11);
else
printf("0");
return 0;
}