您的位置:首页 > 其它

第十二周项目一 当年第几天

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的取值范围做出规定!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: