8 求第几天

8 求第几天

作者: Turbo时间限制: 1S章节: 循环

问题描述 :

按年、月、日的顺序读入一个日期,输出该日期是这一年中的第几天。

输入说明 :

输入数据为三个正整数y 、m、d,分别表示年、月、日,整数之间以空格分隔,在行首和行尾没有多余的空格。

输出说明 :

输出一个整数,表示输入的日期是这一年中的第几天,在行首和行尾没有多余的空格。

输入范例 :

2000 12 31

输出范例 :

366
 

#include <stdio.h>

int leap(int year,int month)
{
	int days;
	if(year%4==0 && year%100!=0 || year%400==0)//闰年
	{
		if(month==2)
			return 29;	
	}
	else
	{
		if(month==2)
			return 28;
	}
	if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
		return 31;
	else return 30;
}

int main()
{
	int y,m,d;
	int i,sum;
	while( scanf("%d %d %d",&y,&m,&d) != EOF )
	{
		sum=0;
		if(m==1)
			sum=d;
		else
		{
			for(i=1;i<m;i++)
				sum+=leap(y,i);
			sum+=d;
		}
		printf("%d\n",sum);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/HurryBen/article/details/105731430
今日推荐