为了账号安全,请及时绑定邮箱和手机立即绑定

这道题做不来。

不能理解他的含义,特别是这一段    sum=sum+day;
    if(year%400==0)
        flag=1;
    else
        flag=0;
    if(flag==1&&month>2)
        sum++;
    printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
    return 0;

2019-10-21 源自:C语言入门 4-17 246 浏览 3 回答

最佳回答

2019-10-21

flag=1指的是闰年,flag=0指的是平年;

同时满足闰年和二月后就相当于平年


说错了,同时满足闰年和二月后,计算天数要加一

2019-10-21
回复 0

#include <stdio.h>
int main()
{   int i,j,sum=0;
    int year = 2008;
    int month = 8;
    int day = 8;
    if(year%4==0&&year%100!=0||year%400==0)i=1;
    else i=0;
    for(j=1;j<=month;j++)
   switch(j)
    {
        case 1:
        sum=sum+day;break;
        case 3:
         sum=sum+28+i;break;
        case 5:case 7:case 10:case 12:
        sum=sum+30;break;
         case 4:case 6:case 9:case 11:case 8:case 2:
         sum=sum+31;break;
    }
    printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
 return 0;
}

2019-11-16
回复 0

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信