/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者: 李家豪
* 完成日期:2013 年11月27日
* 版 本 号:v1.0
* 问题描述:定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天.要求在main函
数中输入年月日,然后调用这个函数求值,并在main函数中输出结果。
* 样例输入:2013 10 31
* 样例输出:304
* 问题分析:
*/
#include<iostream>
using namespace std;
int days(int y, int m, int d);
int main()
{
int year, month, day;
cout<<"输入年 月 日"<<endl;
cin>>year>>month>>day;
cout<<"这是该年的第"<<days(year, month, day)<<"天"<<endl;
return 0;
}
int days(int y, int m, int d)
{
int sum=d;
//加上前m-1月的天数
for(int i=1;i<m;i++)
{
switch(i)
{
case 2:
sum+=((y%4==0&&y%100!=0)||y%400==0)?29:28;
break;
case 4:
case 6:
case 9:
case 11:
sum+=30;
break;
default:
sum+=31;
break;
}
}
return sum;
}
运行结果:
体会心得:这是以前的老方法。。。运用switch语句的!