题解 | #日期差值#

日期差值

https://www.nowcoder.com/practice/ccb7383c76fc48d2bbc27a2a6319631c

#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int getYear(int n)
{
	int year=n/10000;
	return year;
}
int getMonth(int n)
{
	int mon=(n/100)%100;
	return mon;
}
int getDay(int n)
{
	int day=n%100;
	return day;
}
int main()
{
	int d1,d2;
	cin>>d1>>d2;
	int d1year,d1mon,d1day;
	int d2year,d2mon,d2day;
	int mday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
	d1year=getYear(d1);
	d1mon=getMonth(d1);
	d1day=getDay(d1);
	
	d2year=getYear(d2);
	d2mon=getMonth(d2);
	d2day=getDay(d2);
//	cout<<d1year<<endl;
//	cout<<d1mon<<endl;
//	cout<<d1day<<endl;
	int totalday=0;
	while(true)
	{
		if(d1year%400==0||d1year%4==0&&d1year%100!=0){
			mday[2]=29;
		}	
		else
		{
			mday[2]=28;
		}
		if(d1year==d2year&&d1mon==d2mon&&d1day==d2day)
		{
			break;
		}
		totalday++;
		d1day++;
		if(d1day>mday[d1mon])
		{
			d1day=1;
			d1mon++;
			if(d1mon>12){
				d1day=1;
				d1mon=1;
				d1year++;
			}
		}
//		printf("%d\n",totalday+1);
	}
	printf("%d\n",totalday+1);
	
	
	
	
	
	
	
	
	
	
	
}

nextday思路

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务