0050-计算天数
题目
| 计算天数 |
| 难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
| 试题描述 |
| 输入一个学生的出生日期,再输入今天的日期,计算今天是这位同学在地球上生活的天数,当然只从出生那天算起,而且包括今天。为了简化程序的复杂度,测试数据假定所有年份的2月份都是 28 天,没有闰年的情况。 |
| 输入 |
| 两行,各有两个标准的日期(年月日),参照样例,分别表示学生出生的日子和今天的日子。 |
| 输出 |
| 一个数,表示该学生在地球上生活的天数。 |
| 输入示例 |
| 2015-9-1 2016-4-3 |
| 输出示例 |
| 215 |
分析
这题写着很累,但保持清醒就会很容易。
代码
#include
using namespace std;
int ye1,ye2,m1,m2,d1,d2,a1,a2,x=28,y=30,z=31;//三种月份天数。多说一句,x1,x2,y1,y2不能作为全局变量!
int main()
{scanf("%d-%d-%d",&ye1,&m1,&d1);scanf("%d-%d-%d",&ye2,&m2,&d2);if(m1==1) a1=d1;//起始日期。if(m1==2) a1=z+d1;//超级累加。if(m1==3) a1=z+x+d1;//超级特判。if(m1==4) a1=2*z+x+d1;if(m1==5) a1=2*z+y+x+d1;if(m1==6) a1=3*z+y+x+d1;if(m1==7) a1=3*z+2*y+x+d1;if(m1==8) a1=4*z+2*y+x+d1;if(m1==9) a1=5*z+2*y+x+d1;if(m1==10) a1=5*z+3*y+x+d1;if(m1==11) a1=6*z+3*y+x+d1;if(m1==12) a1=6*z+4*y+x+d1;if(m2==1) a2=d2;//终止日期。if(m2==2) a2=z+d2;//超级累加。if(m2==3) a2=z+x+d2;//超级特判。if(m2==4) a2=2*z+x+d2;if(m2==5) a2=2*z+y+x+d2;if(m2==6) a2=3*z+y+x+d2;if(m2==7) a2=3*z+2*y+x+d2;if(m2==8) a2=4*z+2*y+x+d2;if(m2==9) a2=5*z+2*y+x+d2;if(m2==10) a2=5*z+3*y+x+d2;if(m2==11) a2=6*z+3*y+x+d2;if(m2==12) a2=6*z+4*y+x+d2;printf("%d",(365-a1+1)+a2+(ye2-ye1-1)*365);return 0;
}
转载于:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9550349.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
