1. 程式人生 > >C語言:計算某年某月某日是這一年的第幾天

C語言:計算某年某月某日是這一年的第幾天

C語言:計算某年某月某日是這一年的第幾天

我是一名在校大學生,初次寫部落格,希望各位大佬不喜勿噴,這個小程式,僅供參考,希望對大家有所幫助。

分析題意:

1.判斷使用者輸入的年數是閏年還是平年。
2.如何將不同月份的天數相加。

定義:

1.Input()函式,接收使用者輸入的年月日的值。
2.MonthNum()函式,根據使用者輸入的年,判斷出2月的天數和其他月的天數。
3.Calculate()函式,將月份對應的天數相加。

    #include <stdio.h>
    //--------------------函式宣告
    void Input
(int *year,int *month,int *day); void MonthNum(int *Value,int year); int Calculate(int *Value,int month); int main() { int year,month,day; Input(&year,&month,&day); int Value[12]={0}; MonthNum(Value,year); printf("%d年%d月%d日是這一年中的第%d天!\n",year,
month,day,Calculate(Value,month)+day); return 0; } //--------------------輸入年月日 void Input(int *year,int *month,int *day) { printf("請輸入您想知道的年月日:"); scanf("%d %d %d",year,month,day); } //--------------------給每個月分配日期 void MonthNum(int *Value,int year) { for
(int i=0;i<12;i++) { int j=i+1; if((j%2==1 && j<8)||(j%2==0 && j>7)) { Value[i]=31; } else if((j%2==1 && j>8)||(j%2==0 && j>2 && j<7)) { Value[i]=30; } else if(year%4==0 && year%100!=0 || year/400==0) { Value[i]=29; } else { Value[i]=28; } } } //--------------------計算日期 int Calculate(int *Value,int month) { int sum=0; for(int i=0;i<month-1;i++) { sum=sum+Value[i]; } return sum; } /* //----------樣例輸入---------- 1998 8 25 //----------樣例輸出---------- 1998年8月25日是這一年中的第237天! */

希望多多支援!
在這裡插入圖片描述