首页 > 代码库 > 两人的生日差

两人的生日差

  输入代码:

/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:sum123.cpp*作    者:林海云*完成日期:2014年12月23日*版 本 号:v2.0**问题描述:输入两人生日,求其相差天数*程序输入:*程序输出:*/#include<iostream>#include<cmath>using namespace std;int day(int y,int m,int d);struct Date{    int year;    int mouth;    int day;};int main(){    Date date1,date2;    int sum1,sum2,s=0;    cout<<"请输入第一个人的生日:"<<endl;    cin>>date1.year>>date1.mouth>>date1.day;    cout<<"请输入第二个人的生日:"<<endl;    cin>>date2.year>>date2.mouth>>date2.day;    sum1=day(date1.year,date1.mouth,date1.day);    sum2=day(date2.year,date2.mouth,date2.day);    if(date1.year>date2.year)    {        while(date1.year>=date2.year)        {            date1.year--;            if((date1.year%4==0)&&(date1.year%100!=0)||(date1.year%400==0))            {                s+=366;            }            else                s+=365;            date1.year--;        }        sum1+=s ;        sum1-=sum2;        cout<<"两人的生日差为:"<<sum1<<endl;    }    else if(date1.year<date2.year)    {        while(date2.year>=date1.year)        {            date2.year--;            if((date2.year%4==0)&&(date2.year%100!=0)||(date2.year%400==0))            {                s+=366;            }            else                s+=365;            date2.year--;        }        sum2+=s;        sum2-=sum1;        cout<<"两人生日差为:"<<sum2<<endl;    }    else        cout<<"两人生日差为"<<fabs(sum1-sum2)<<endl;    return 0;}int day(int y,int m,int d){    int sum=0,i;    for(i=1; i<=m; i++)    {        if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)            sum+=31;        else if(i==4||i==6||i==9||i==11)            sum+=30;        else        {            if((y%4==0)&&(y%100!=0)||(y%400==0))                sum+=29;            else                sum+=28;        }    }    sum+=d;    return sum;}


运行结果:

技术分享

两人的生日差