第十二周项目一 当年第几天
2013-11-13 16:54
369 查看
/*标题 ;计算天数
*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的取值范围做出规定!
相关文章推荐
- 第十二周项目五 输出当年第几天( switch 分支法)
- 第十二周项目五 判断当年第几天(数组法)
- 第十二周项目-1函数运用 当年第几天
- 第11周项目5-当年第几天
- 第十二周-当年第几天
- 第十一周项目五:当年第几天(改进版)
- 第11周项目5-当年第几天
- 提高项目14-当年第几天(数组方案)
- 提高篇第十六讲项目3-当年第几天(数组方案)
- 第十一周 项目五: 当年第几天
- 第2-5节项目5-当年第几天
- 第十一周项目五: 当年第几天
- 第十一周上机项目5 当年第几天
- 第11周上机实践项目5——当年第几天
- 第十一周 项目五 当年第几天
- 第十七周项目4 - 日期结构体(是当年的第几天)
- 第7周项目2-自选图形用户界面程序开发(当年第几天)
- 第十一周项目 5 当年第几天
- 第十二周项目1-求某年某月是本年的第几天
- 第十一周项目5当年第几天