小編這個思路行不行,連for循環(huán)一起加上吧
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year=2008;
? ? int month=8;
? ? int day=8;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側(cè)任務(wù)中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? int m,n,sum=day;
? ? for(m=0;m<month;m++)
? ? {
? ? ? ? switch(m)
? ? ? ? {
? ? ? ? ? ? case 11: n=30; break; ? ?
? ? ? ? ? ? case 10: n=31; break;
? ? ? ? ? ? case 9: n=30; break;
? ? ? ? ? ? case 8: n=31; break;
? ? ? ? ? ? case 7: n=31; break;
? ? ? ? ? ? case 6: n=30; break;
? ? ? ? ? ? case 5: n=31; break;
? ? ? ? ? ? case 4: n=30; break;
? ? ? ? ? ? case 3: n=31; break;
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? if(year%400==0 || year%100!==0 && year%4==0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? n=29;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? n=28;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 1: n=31; break;
? ? ? ? ? ? case 0: n=0; break;
? ? ? ? }
? ? ? ? sum+=n;
? ? }
? ? printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
return 0;
}
2016-07-12
思路是對的,但是case 2條件語句寫錯了,把!==改成!= 就成功了。
if(year%400==0 || year%100!=0 && year%4==0)