1505 - 今年的第几天?

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

输入年、月、日,计算该天是本年的第几天。

题目输入

包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。

题目输出

输入可能有多组测试数据,对于每一组测试数据,输出一个整数,代表Input中的年、月、日对应本年的第几天。

输入/输出样例

输入格式

2012 12 21
2013 1 5

输出格式

356
5

C语言解答

#include<stdio.h>

int main()
{
        int Y,M,D,m[13][2]={0,0,
                            31,31,
                            28,29,
                            31,31,
                            30,30,
                            31,31,
                            30,30,
                            31,31,
                            31,31,
                            30,30,
                            31,31,
                            30,30,
                            31,31};
        int i,k,d;
        while(scanf("%d%d%d",&Y,&M,&D)!=EOF)
        {
                k=0;
                if((Y%4==0&&Y%100!=0)||(Y%400==0))
                        k=1;
                for(d=0,i=1;i<M;i++)
                        d+=m[i][k];
                d+=D;
                printf("%d\n",d);
        }
        return 0;
}

C++解答

#include<stdio.h>

int main()
{
	int Y,M,D,m[13][2]={0,0,
						31,31,
						28,29,
						31,31,
						30,30,
						31,31,
						30,30,
						31,31,
						31,31,
						30,30,
						31,31,
						30,30,
						31,31};
	int i,k,d;
	while(scanf("%d%d%d",&Y,&M,&D)!=EOF)
	{
		k=0;
		if((Y%4==0&&Y%100!=0)||(Y%400==0))
			k=1;
		for(d=0,i=1;i<M;i++)
			d+=m[i][k];
		d+=D;
		printf("%d\n",d);
	}
	return 0;
}