输入代码:
/* *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; }
运行结果:
时间: 2024-11-01 10:49:25