第十二周项目一 当年第几天
来源:互联网 发布:什么软件照相好看 编辑:程序博客网 时间:2024/05/18 03:03
/*标题 ;计算天数
*Copyright(c)2013,烟台大学计算机学院*All rights reserved。*作者 :刘江*完成日期:2013年11月13日*版本号 :v1.0*问题描述:*样例输入:*样例输出:问题分析:*/#include <iostream>using namespace std;int date(int x,int y,int z)//年月日{ int t=0,d=0; if((x%4==0 && x%100!=0 )||x%400==0) { d=29;//闰年 switch(y) { case 1: t=z; break; case 3: t=31+d+z; break; case 5: t=31*2+d+z+30; break; case 7: t=31*3+d+z+30*2; break; case 8: t=31*4+d+z+30*2; break; case 10: t=31*5+d+z+30*3; break; case 12: t=31*6+d+z+30*4; break; case 4: t=z+31*2+d; break; case 6: t=30+d+z+31*3; break; case 9: t=31*5+d+z+30*2; break; case 11: t=31*6+z+30*3+d; break; case 2: t=31+z; break; } return t; } else { d=28; switch(y) { case 1: t=z; break; case 3: t=31+d+z; break; case 5: t=31*2+d+z+30; break; case 7: t=31*3+d+z+30*2; break; case 8: t=31*4+d+z+30*2; break; case 10: t=31*5+d+z+30*3; break; case 12: t=31*6+d+z+30*4; break; case 4: t=z+31*2+d; break; case 6: t=30+d+z+31*3; break; case 9: t=31*5+d+z+30*2; break; case 11: t=31*6+z+30*3+d; break; case 2: t=31+z; break; } }}int main( ){ int x,y,z,t; cout<<"请输入年月日"<<endl; cin>>x>>y>>z; t=date(x,y,z); cout<<"今天是本年第"<<t<<"天"<<endl; return 0;}运行结果:
心得体会:不能对z的取值范围做出规定!