004

题目:输入某年某月某日,判断这一天是这一年的第几天?

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

程序源代码:

#include
using namespace std;
int main()
{
	int year,month,day;
	int count;
	cin>>year>>month>>day;
	switch(month)
	{
	 case 1:count=0;break;
	 case 2:count=31;break;
	 case 3:count=59;break;
	 case 4:count=90;break;
	 case 5:count=120;break;
	 case 6:count=151;break;
	 case 7:count=181;break;
	 case 8:count=212;break;
	 case 9:count=242;break;
	 case 10:count=273;break;
	 case 11:count=303;break;
     case 12:count=334;break;
	 default:break;
	}
	count+=day;
    //判断闰年一般的规律为: 四年一闰,百年不闰,四百年再闰。
	//计算方法:1.能被4整除而不能被100整除。(如2004年就是闰年,1800年不是。)2.能被400整除。
	if(year%4==0&&year%100&&month>2)
		count+=1;
	cout<


你可能感兴趣的:(ACM练习)