计算给定日期是第几天
给出年、月、日,计算该日是该年的第几天
#include//需要引入的文件//如解答错误,注意检查错误信息提示,对比预期输出和实际输出之间的差异
int main() {
int fun(int a,int b,int c);
int year,month,day;
scanf("%d %d %d",&year,&month,&day);
printf("%d", fun(year,month,day));
return 0;
// your code
}
int fun(int a,int b,int c)
{ int i,d=0,e[12]={31,28,31,30,31,30,31,31,30,31,30,31};
for(i=0;i1;i++)
d+=e[i];
d+=c;
if(((a%4==0&&a%100!=0)||a%400==0)&&b>=3)
++d;
return d;}
倒数第三行b>=3怎么样理解?
谢谢
意思3月到12月的话,闰年需要加1天,因为肯定包含完整的2月份
因为闰年在2月才生效,你不超过2月,虽然是闰年但是没有多的天数,大于3是为了判断闰年那一天假如大于3月,那么就执行下面的程序,反之不执行。
这种写法并不好,理解困难,你可以把它改进下。