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

我的这个代码哪里有错误,明明是对的

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    int sum;
    switch(month)
    {
        case 1:sum=0;break;
        case 2:sum=31;break;
        case 3:sum=59;break;
        case 4:sum=90;break;
        case 5:sum=120;break;
        case 6:sum=151;break;
        case 7:sum=181;break;
        case 8:sum=212;break;
        case 9:sum=243;break;
        case 10:sum=273;break;
        case 11:sum=304;break;
        case 12:sum=334;break;
    }
    if(year%4==0&&year%100!=0)
    {
        sum+=day+1;
    }
    else
    {
        sum+=day;
    }
   
    printf("%d年%d月%d日是该年中的第%d天",year,month,day,sum);

 return 0;
}


正在回答

2 回答

普通闰年:公历年份是4的倍数的,且不是100的倍数,为闰年。(如2004年就是闰年);

世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是世纪闰年,2000年是世纪闰年);

0 回复 有任何疑惑可以回复我~

你可以将 if(year%4==0&&year%100!=0) 改为 if(year%4==0)试试

0 回复 有任何疑惑可以回复我~
#1

小哥哥i 提问者

那样的话闰年判断就错了哎
2019-11-07 回复 有任何疑惑可以回复我~
#2

qq_慕慕7017623 回复 小哥哥i 提问者

没有错的,可以运行出来的
2019-11-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的这个代码哪里有错误,明明是对的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信