//判断是否是闰年的函数
bool leap_year(int year)
{
if(year%4==0&&year%100!=0)return true;
else if(year%100==0)
if(year%400==0)
return true;
else return false;
}
//主函数
main()
{
int birth_year,birth_month,birth_day,
current_year,current_month,current_day,
age_year,age_day, //结果用年又天的形式来表示
days1[12]={31,28,31,30,31,30,31,31,30,31,30,31},//平年每月天数
days2[12]={31,29,31,30,31,30,31,31,30,31,30,31},//闰年每月天数
birth_days=0/*出生那天到年初的天数*/,current_days=0/*现在到目前年初的天数*/;
//输入过程从略
if(!leap_year(birth_year))
for(int i=0;i<birth_month;i++)birth_days+=days1;
else
for(int i=0;i<birth_month;i++)birth_days+=days2;
if(!leap_year(current_year))
for(int i=0;i<current_month;i++)current_days+=days1;
else
for(int i=0;i<current_month;i++)current_days+=days2;
age_year=current_year-birth_year-(current_days<birth_days);
if(current_days>birth_days)age_day=current_days-birth_days;
else
if(leap_year(current_year))age_day=current_days-birth_days+366;
else age_day=current_days-birth_days+365;
//输出部分从略
}