问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include<stdio.h>
#include<stdlib.h>
struct people
{
char name[6];
int year;
int month;
int day;
};
int calculate(int y,int m,int d);
int main()
{
struct people arr[200];
int i=0,j=0;
int N,age=0,cnt=0;
int max=-1,min=999;
int fmax=0,fmin=0;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%s %d/%02d/%02d",arr[i].name,&arr[i].year,&arr[i].month,&arr[i].day);
}
for(i=0;i<N;i++)
{
age=calculate(arr[i].year,arr[i].month,arr[i].day);
if(age<=200&&age>0)
{
cnt++;
if(age>max)
{
max=age;
fmax=i;
}
if(age<min)
{
min=age;
fmin=i;
}
}
}
printf("%d",cnt);
if(cnt)
printf(" %s %s\n",arr[fmax].name,arr[fmin].name);
return 0;
}
int calculate(int y,int m,int d)
{
int age=0;
age=2014-y;
if(y==2014&&m==9&&d==6)
return 1;
if(m<9)
{
age+=1;
}
else if(m==9)
{
if(d<6)
age+=1;
}
return age;
}
段错误,不知道怎么改