题目:
20 71
思路是
1.将每个月之前的天数,打表起,如1月 就是0,2月就是31,以此类推;
2.要注意的是闰年,需要一个参数,来判断;
3.就是格式要注意,如输入有'/',那么在scanf里也要有'/'。
代码如下:
Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20 2006/3/12
Sample Output
20 71
思路是
1.将每个月之前的天数,打表起,如1月 就是0,2月就是31,以此类推;
2.要注意的是闰年,需要一个参数,来判断;
3.就是格式要注意,如输入有'/',那么在scanf里也要有'/'。
代码如下:
#include<stdio.h>
int p(int a) //p函数是判断该年是否为闰年,如果是闰年返回1,不是闰年返回0,然后总天数再相加
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
int main()
{
int a,b,c,d,i,sum;
int j[12]={0,31,59,90,120,151,181,211,242,273,303,334};
while(~scanf("%d%d%d",&a,&b,&c))
{
if(p(a)&&b>2)
d=1;
else
d=0;
printf("%d\n",d+j[b-1]+c);
}
return 0;
}