#include<iostream>
#include<memory>
using namespace std;
int verifyIDCard(char* input)
{
if(strlen(input)!=18)
return 1;
for(char *p=input; p!=input+17;++p)
if(!isdigit(*p))
return 2;
if(!isdigit(input[17])&&input[17]!='x')
return 3;
char year[5]="",mon[3]="",date[3]="";
memcpy(year,input+6,4);
memcpy(mon,input+10,2);
memcpy(date,input+12,2);
if(atoi(year)<1900||atoi(year)>2100)
return 4;
if(atoi(mon)<1||atoi(mon)>12)
return 5;
if(4==atoi(mon)||6==atoi(mon)||9==atoi(mon)){
if(atoi(date)<1||atoi(date)>30)
return 6;
}
else
{
if(atoi(mon)==2)
{
if(atoi(year)%400==0)
{
if(atoi(date)<1||atoi(date)>29)
return 6;
}
else
if(atoi(date)<1||atoi(date)>28)
return 6;
}
else
if(atoi(date)<1||atoi(date)>31)
return 6;
}
return 0;
}
2012年华为校园招聘机试(2)
内容版权声明:除非注明,否则皆为本站原创文章。