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

请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。 求大神分析错在哪

#include <stdio.h>
int main() 
{ 
    int year = 2008;
    int month = 8;
    int day = 8;
   int out,flag;
    switch(month)
    {
    case1:out=0;break;
    case2:out=31;break;
    case3:out=59;break;
    case4:out=90;break;
    case5:out=120;break;
    case6:out=151;break;
    case7:out=181;break;
    case8:out=212;break;
    case9:out=243;break;
    case10:out=273;break;
    case11:out=304;break;
    case12:out=334;break;
    default: printf("一年中只有12个月");break;
    }
 out=out+day;
 if ((year%4==0 && year%100>0) || year%400==0)
 flag=1;
 else
 flag=0;
 if (flag==1&&month>2)
    out++;
printf("%d年%d月%d日是该年的第%d天",year,month,day,out);
    return 0;
}

正在回答

2 回答

#include <stdio.h>

int main() 

    /* 定义需要计算的日期 */

    int year = 2008;

    int month = 8;

    int day = 8;

    int flag,out; 

     /*

     * 请使用switch语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

    switch(month)

    {

    case 1:out=0;break;

    case 2:out=31;break;

    case 3:out=59;break;

    case 4:out=90;break;

    case 5:out=120;break;

    case 6:out=151;break;

    case 7:out=181;break;

    case 8:out=212;break;

    case 9:out=243;break;

    case 10:out=273;break;

    case 11:out=304;break;

    case 12:out=334;break;

    default: 

        printf("一年中只有12个月");

        break;

    }


 if ((year%4==0 && year%100>0) || year%400==0)

 flag=1;

 else

 flag=0;

 if (flag==1&&month>2)

 {

    out=out+day+flag;

 }

 else

 { 

     out=out+day;

     

 }

    

    printf("%d年%d月%d日是该年的第%d天",year,month,day,out);


return 0;

}


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

case后面有个空格

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

举报

0/150
提交
取消

请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。 求大神分析错在哪

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