计算今年第几天

请你计算出 x 年 y 月 z 日是 x 年的第几天。

请注意闰年对答案的影响。

输入格式

一行三个整数,x,y 和 z。(1583≤x≤2100)。数据保证输入合法。

输出格式

一个整数,表示是第几天。

输入样例

2016 3 1

输出样例

61

输入样例

1900 3 1

输出样例

60

#include<stdio.h>
int main()
{
	int x,y,z,d;
	scanf("%d %d %d",&x,&y,&z);// 输入年月日 
	if(x%4==0&&x%100!=0||x%400==0)
    { //判断是否为闰年 
		if(y==1)
			d=0+z;
        else if(y==2)
			d=31+z;
		else if(y==3)
			d=60+z;
		else if(y==4)
			d=91+z;
		else if(y==5)
			d=121+z;
		else if(y==6)
			d=152+z;
		else if(y==7)
			d=182+z;
		else if(y==8)
			d=213+z;
		else if(y==9)
			d=244+z;
		else if(y==10)
			d=274+z;
		else if(y==11)
			d=305+z;
		else if(y==12)
			d=335+z;
   }
else
   {
		if(y==1)
			d=0+z;
		else if(y==2)
			d=31+z;
		else if(y==3)
			d=59+z;
		else if(y==4)
			d=90+z;
		else if(y==5)
			d=120+z;
		else if(y==6)
			d=151+z;
		else if(y==7)
			d=181+z;
		else if(y==8)
			d=212+z;
		else if(y==9)
			d=243+z;
		else if(y==10)
			d=273+z;
		else if(y==11)
			d=304+z;
		else if(y==12)
			d=334+z;
	}
	printf("%d",d);
	return 0;
}

解题思路

这题首先要考虑的是闰年与平年的区别,从这里进行分类,随后就通过暴力枚举,得出答案。

Guess you like

Origin blog.csdn.net/ChenYangBob/article/details/121317912