另外的寫法
#include <stdio.h>
int main()
{
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 3;
? ? int day = 1;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側(cè)任務(wù)中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? if((year%4==0&&year%100!=0)||year%400==0)
? ? {
? ? ? ? switch(month)
? ? ? ? {
? ? ? ? ? ? case 1:
? ? ? ? ? ? month=day;break;
? ? ? ? ? ? case 2:
? ? ? ? ? ? month=1*31+day;break;
? ? ? ? ? ? case 3:
? ? ? ? ? ? month=1*31+29+day;break;
? ? ? ? ? ? case 4:
? ? ? ? ? ? month=2*31+29+day;break;
? ? ? ? ? ? case 5:
? ? ? ? ? ? month=2*31+29+30+day;break;
? ? ? ? ? ? case 6:
? ? ? ? ? ? month=3*31+29+30+day;break;
? ? ? ? ? ? case 7:
? ? ? ? ? ? month=3*31+29+2*30+day;break;
? ? ? ? ? ? case 8:
? ? ? ? ? ? month=4*31+29+2*30+day;break;
? ? ? ? ? ? case 9:
? ? ? ? ? ? month=5*31+29+2*30+day;break;
? ? ? ? ? ? case 10:
? ? ? ? ? ? month=5*31+29+3*30+day;break;
? ? ? ? ? ? case 11:
? ? ? ? ? ? month=6*31+29+3*30+day;break;
? ? ? ? ? ? case 12:
? ? ? ? ? ? month=6*31+29+4*30+day;break;
? ? ? ? }
? ? }
? ? else
? ? {
? ? ? ? switch(month)
? ? ? ? {
? ? ? ? ? ? case 1:
? ? ? ? ? ? month=day;break;
? ? ? ? ? ? case 2:
? ? ? ? ? ? month=1*31+day;break;
? ? ? ? ? ? case 3:
? ? ? ? ? ? month=1*31+28+day;break;
? ? ? ? ? ? case 4:
? ? ? ? ? ? month=2*31+28+day;break;
? ? ? ? ? ? case 5:
? ? ? ? ? ? month=2*31+28+30+day;break;
? ? ? ? ? ? case 6:
? ? ? ? ? ? month=3*31+28+30+day;break;
? ? ? ? ? ? case 7:
? ? ? ? ? ? month=3*31+28+2*30+day;break;
? ? ? ? ? ? case 8:
? ? ? ? ? ? month=4*31+28+2*30+day;break;
? ? ? ? ? ? case 9:
? ? ? ? ? ? month=5*31+28+2*30+day;break;
? ? ? ? ? ? case 10:
? ? ? ? ? ? month=5*31+28+3*30+day;break;
? ? ? ? ? ? case 11:
? ? ? ? ? ? month=6*31+28+3*30+day;break;
? ? ? ? ? ? case 12:
? ? ? ? ? ? month=6*31+28+4*30+day;break;
? ? ? ? }
? ? }
? ? printf("%d\n",month);
? ? return 0;
}
2018-05-27