`
bcyy
  • 浏览: 1827572 次
文章分类
社区版块
存档分类
最新评论

九度教程第6题

 
阅读更多

题目地址:http://ac.jobdu.com/problem.php?cid=1040&pid=5

C语言源码:

#include<stdio.h>
int leapyear(int year)
{
	if((year%4==0&&year%100!=0)||year%400==0)
		return 1;
	else 
		return 0;
}
int day(int year,int month,int day)
{
	int i,sum;
	i=1;
	sum=0;
	while(i<month)
	{
		if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
			sum+=31;
		else
			if(i!=2)
				sum+=30;
			else
				if(leapyear(year))
					sum+=29;
				else
					sum+=28;
				i++;
	}
	return sum+day;
}				
int main()
{
	int a,b,sum,i,year1,year2,month1,month2,day1,day2;
	while(scanf("%d",&a)!=EOF)
	{
		scanf("%d",&b);
		if(a>b)
		{
			sum=a;
			a=b;
			b=sum;
		}//a<b
		sum=0;
		year1=a/10000;
		year2=b/10000;
		month1=(a/100)%100;
		month2=(b/100)%100;
		day1=a%100;
		day2=b%100;
		i=year1+1;
		while(i<year2)
		{
			if(leapyear(i))
				sum+=366;
			else
				sum+=365;
			i++;
		}
		if(year1==year2)
			sum=day(year2,month2,day2)-day(year1,month1,day1)+1;
		else
		{
			sum+=day(year2,month2,day2)+365-day(year1,month1,day1)+1;
			if(leapyear(year1))
				sum+=1;
		}
		printf("%d\n",sum);
	}
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics