?int?year?=?2008;
????int?month?=?8;
????int?day?=?8;
????int?k,a;
????/*
?????*?請使用switch語句,if...else語句完成本題
?????*?如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
?????*?小編還是希望大家獨立完成哦~
?????*/
????switch(month)
????{
????????case?1:?a=31;?break;
????????case?2:?a=31+28;?break;
????????case?3:??a=31+28+31;?break;
????????case?4:?a=31+28+31+30;?break;
????????case?5:?a=?31+28+31+30+31;?break;
????????case?6:??a=31+28+31+30+31+30;?break;
????????case?7:?a=31+28+31+30+31+30+31;?break;
????????case?8:??a=31+28+31+30+31+30+31+31;?break;
????????case?9:??a=31+28+31+30+31+30+31+31+30;?break;
????????case?10:?a=31+28+31+30+31+30+31+31+30+31;?break;
????????case?11:?a=31+28+31+30+31+30+31+31+30+30;?break;
????????case?12:?a=31+28+31+30+31+30+31+31+30+30+31;break;
????????
????????
????}
????if?(year%4==0||year%400==0)
????{
????????k=a+day+1;
????????printf?k;
????}
????else?
????{
????????k=a+day;
????????printf?k;
????}
????
return?0;
}
2017-03-26
你寫的程序在邏輯上就有問題,首先如果month是一月份,那么case 1:是day,以此類推,另外,在一月份無論是閏年或者平年都是不用加一的