C語言輸入年、月、日,計算天數問題,從2月開始的天數不一樣,對於主人來說結果不一樣

發布 職場 2024-06-09
3個回答
  1. 匿名使用者2024-02-11

    這裡,146097 = 365 * 400 + 97。 也就是說,400年的總天數,因為400年97閏。

    1461 = 365 * 4 + 1,即 4 年的總天數,這裡表示 4 年的飛躍。

    ldate 是總天數,( ldate ) 146097經歷了 400 年。

    ldate ) 146097 * 97 ) 400 年中的閏年數,即整數倍。

    ldate % 146097 ) 是 400 年內總天數中剩餘的天數減去整數倍。

    ldate % 146097 ) 1461 年經歷了幾個閏年。

  2. 匿名使用者2024-02-10

    輸入年、月、日三個值,先將年前每個月的月數相加,最後相加日期的天數即可得到結果。

    1. 演算法設計

    1.輸入年、月、日三個值;

    2、為了保證方案的穩健性,可以判斷三個值的合法性,只有合法資料才能操作;

    3、每個月累計前的天數;

    4、累積當前每日價值;

    5. 輸出結果。

    二、注意事項:

    您可以使用陣列來儲存每個月的天數,並將它們相加成乙個迴圈。 重要的是要注意閏年的判斷。 對於閏年,二月會增加一天。

    #include

    int main()

    十二個月中的天數。

    int y,m,d,r=0,i;

    scanf("%d%d%d",&y,&m,&d);

    if(y%400==0 ||y%4==0 &&y %100 != 0))閏年。

    mdays[1] = 29;設定閏年的 2 月值。

    if(y<0 ||m<=0 ||m>12 ||d<=0 ||d>mdays[m-1]) 無效。

    for(i = 0; i < m-1;I++ 累積到前幾個月。

    r+=mdays[i];

    r+=d;累加日期值。

    printf("%d",r);輸出結果。

    return 0;}

  3. 匿名使用者2024-02-09

    程式不錯,但錯誤在於以下對閏年的判斷對計算結果不起作用,所以只需更改乙個地方:

    倒數第二句話將被計算在內。

    if(er==1&&month>2);

    更改為:if(month>2)。

    sum+=er;能。

相關回答
20個回答2024-06-09

年、月、日知識點:

一年有 12 個月。 >>>More

7個回答2024-06-09

年最早來自農業,在古代,人們稱河谷的生長週期為年,起源於周,在西漢正式固定,然後一直延續到今天。 >>>More

4個回答2024-06-09

首先,加上你想知道的日期號,加上月份程式碼,除以7,可以被星期日整除; 如果不可整除,則餘數為數字,日為星期幾。 如果日期和月份程式碼的總和小於 7,則總和是天數,該天是星期幾。 例如: >>>More

10個回答2024-06-09

年份:年份

month: 月 >>>More

14個回答2024-06-09

感恩節不是中國的。