首页 > 代码库 > 两人的生日差
两人的生日差
输入代码:
/**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;}
运行结果:
两人的生日差
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。