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

来源:4-17 switch与if语句的应用

小哥哥i

2019-11-07 19:59

#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回答

  • 无敌小珺珺
    2019-11-15 18:36:03

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

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

  • qq_慕村420859
    2019-11-07 20:53:43

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

    qq_慕慕7... 回复小哥哥i

    没有错的,可以运行出来的

    2019-11-13 21:27:18

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题