PAT乙级第28,第一个和第四个测试点没通过


#include<iostream>
#include<stdio.h>
using namespace std;

struct e{
    char name[6];
    int year;
    int mon;
    int day;//年月日 
};
int main(){
    int n;
    cin >> n;
    e element[n];
    int count = 0;
    int min=0;
    int max=0;
    for(int i = 0; i<n; i++){
        cin>>element[i].name;
        scanf("%d/%d/%d",&element[i].year, &element[i].mon, &element[i].day);
        if(element[i].year>2014|| (element[i].year==2014&&element[i].mon>9)|| (element[i].year==2014&&element[i].mon==9&&element[i].day>6))continue;
        if(element[i].year>1814|| (element[i].year==1814&&element[i].mon>9)|| (element[i].year==1814&&element[i].mon==9&&element[i].day>=6)){
            count++;
            if(element[i].year>element[min].year|| (element[i].year==element[min].year&&element[i].mon>element[min].mon)|| (element[i].year==element[min].year&&element[i].mon==element[min].mon&&element[i].day>element[min].day)){
                min = i;
                }
            if(element[i].year<element[max].year|| (element[i].year==element[max].year<element[i].mon<element[max].mon)|| (element[i].year==element[max].year&&element[i].mon==element[max].mon&&element[i].day<element[max].day)){
                max = i;
                }
        }
        
    }
    cout<<count;
    if(count!=0)
    cout<<' '<<element[max].name<<' '<<element[min].name;
}

看好久了,不知道为什么错了,希望代佬看一下
img

没通过的提升是什么?
你的代码是c和c++混编的,可能是这个原因。
scanf("%d/%d/%d",&element[i].year, &element[i].mon, &element[i].day);这一句修改一下
char ch;
cin >> element[i].year >>ch >>element[i].mon >>ch >> element[i].day;