第一周上机

来源:互联网 发布:淘宝联盟分享了没9有钱 编辑:程序博客网 时间:2024/06/10 17:12
#include <iostream>using namespace std;int f( int m, int n,int k);struct Date{int year;int month;int day;};int main(){Date date1,date2;int days1,days2;int sum=0,s;//s为两人生日相差天数cout<<"input year,month,day(please input date1.year<=date2.year!):";cin>>date1.year>>date1.month>>date1.day;cin>>date2.year>>date2.month>>date2.day;days1=f(date1.year,date1.month,date1.day);days2=f(date2.year,date2.month,date2.day);   for(int year=date1.year+1;year<=date2.year;year++)//判断在date1.year和date2.year中有几个闰年{if(year%4==0){  if(year&100==0){if(year%400==0)sum++;}else sum++;}}s=(date2.year-date1.year)*365+sum-days1+days2;if(s<0)s=0-s;cout<<s;return 0;}int f( int m, int n,int k)//计算输入日期是这一年的第几天{int a;if(m%4==0){if(m&100==0){if(m%400==0)a=1;else a=0;}else a=1;}elsea=0;int days;switch(n){case 1:days=k; break;case 2:days=k+31;break;case 3:days=k+60;break;case 4:days=k+91;break;case 5:days=k+121;break;case 6:days=k+152;break;case 7:days=k+182;break;case 8:days=k+213;break;case 9:days=k+244;break;case 10:days=k+274;break;case 11:days=k+305;break;case 12:days=k+335;break;}if(a==0&&n>2)days=days-1;return days;}

原创粉丝点击