求一个日期是该年中的第几天


求一个日期是该年中的第几天

输入一个日期,求这个日期是该年中的第几天。

输入格式:

输入三个整数,分别代表年、月、日。(假设数据都是合理的)

输出格式:

这个日期是该年中的第几天。


思维很好的解法

#include<iostream> using namespace std; int main(){ unsigned A,B,C; /*最笨的方法是对于b=1,2,3,,,依次讨论
加几的问题,但是这个就太妙了吧
果然需要数学思维*/ cin
>>A>>B>>C; //天!!!!这种做法好神奇!!! if(A%400==0||(A%4)==0&&(A%100)!=0) { if(B<3) cout<<B/2*31+C<<endl; else cout<<(B/2-1)*30+B/2*31+29+C<<endl; } else{ if(B<3) cout<<B/2*31+C<<endl; else cout<<(B/2-1)*30+B/2*31+28+C<<endl; } return 0; }

 使用数组

#include <iostream>
using namespace std;
int main()
{
	int a,b,c,n=0;
	int days,i;
	cin>>a>>b>>c;
	int month[12] ={31,28,31,30,31,30,31,30,31,30,31,30};
	if(a%4==0&&a%100!=0||a%400==0)
	month[1]=29;
	for(i=0;i<b-1;i++)
	n+=month[i];
	days=n+c;
	cout <<days<<endl;
	return 0;
}

 

 

 

posted @ 2020-12-27 15:05  0never  阅读(273)  评论(0编辑  收藏  举报