* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者: 李中意
* 完成日期:2013 年11 月19 日
* 版 本 号:v1.0 *
* 问题描述:输入年份,月份,和几号。判断是该年的第几天
* 问题分析:用switch语句
#include <iostream>
using namespace std;
int time(int,int,int);
int main( )
{
int year,month,day,z;
cout<<"请依次输入年、月、日:"<<endl;
cin>>year>>month>>day;
z=time(year,month,day);
cout<<year<<"年"<<month<<"月"<<day<<"日是第"<<z<<"天"<<endl;
return 0;
}
int time(int year,int month,int day)
{
int z,a;
if(year%4==0&&year%100!=0||year%400==0)
{
a=29;
}
else
a=28;
switch(month)
{
case 1:
z=day;
break;
case 2:
z=31+day;
break;
case 3:
z=31+a+day;
break;
case 4:
z=31*2+a+day;
break;
case 5:
z=2*31+30+a+day;
break;
case 6:
z=3*31+30+a+day;
break;
case 7:
z=31*3+30*2+a+day;
break;
case 8:
z=31*4+30*2+a+day;
break;
case 9:
z=31*5+30*2+a+day;
break;
case 10:
z=5*31+30*3+a+day;
break;
case 11:
z=6*31+30*3+a+day;
break;
case 12:
z=6*31+30*4+a+day;
break;
}
return z;
}