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

倒数2行怎么错了?

#include <stdio.h>

int main()

{

int year = 2008;

int month =8;

int day = 8;

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;

case 13:sum = 365;break;

default:

printf("%s\n","一年当中有12个月");

break; 

}

int sum = 212;

if(year%4==0 && year%100!=0)

{

sum += (day+1);

}

else

{

sum += day;

}

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

return 0;

}


正在回答

1 回答

判断闰年的逻辑有些问题,满足闰年的条件有 2 个:

假设当前为x年

  1.   x % 4 == 0 && x % 100 != 0

  2.  x % 400 == 0

而上面的代码只满足了第一个逻辑,需要补充第二个逻辑判断

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

举报

0/150
提交
取消

倒数2行怎么错了?

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