C語言 鍵盤輸入年月日,計算這一天是這一年的第幾天

2021-10-24 15:15:37 字數 1215 閱讀 2355

對一維字串陣列按照字典順序排序輸出

c語言簡單練習題之鍵盤輸入乙個字元陣列,將其中的大寫字母刪除

比如輸入20201010,計算10號這一天是2023年的第幾天

首先要考慮這一年是平年還是閏年,其次考慮所有的月份有多少天,最後是考慮怎麼去把所有的天數加在一起

平年的二月份有28天,閏年的二月有29天,所以要判斷這一年是平年還是閏年;而判斷是不是閏年的標準就是這一年除以400能除盡或者這一年除以4和除以100都能除盡,即year%4==0 && year%100!=0 || year%400==0。

要計算天數之和,就要按月分開計算,既然要分情況計算天數,就要考慮使用switch來進行迴圈判斷

月份都是隨著天數逐漸遞增的,所以當月天數必定佔乙個分支,而且switch必須要經過這個分支,所以case的值就應該是1,這樣才能保證switch一定經過case1來計算當月天數;

當月之前的天數一定在1-11月之間,因為當月是12月的話,在case1中就已經加上了;

此時還有乙個問題,就是二月份到底應該寫多少天?可以先按28天來算。其實不管是28還是29都可以,只不過最後結果進行一步修正,採用29天那就判斷一下,當年不是閏年那就在結果上減去一天,是閏年就直接輸出列印結果。

如果當月在二月之前,或者在二月月末之前是不是就不用考慮需不需對結果進行修正,對結果進行加一操作了呢?

所以if判斷條件還需要加上乙個判斷:month>=3,此判斷和前乙個年份判斷必須是「與」的關係,即這兩個判斷條件必須同步成立if才為真,才對結果進行加一操作。

#include int main()

if((year%4==0 && year%100!=0 || year%400==0) && month>=3)

s++;

printf("%d\n",s);

return 0;

}

c語言:遞迴求前n項的和,採用遞迴呼叫

c語言:從鍵盤輸入乙個整數,列印出指定的菱形

輸入日期並判斷這一天是這一年的第幾天

給出年月日 顯示是今年的第幾天 需要判斷是否是閏年 2月份有 28天 29天之分 示例 20160818 是今年的第 天 step1 判斷是否是閏年 def checkyear year if year 400 0 year 4 0 year 100 0 return 1 else return 0...

根據年月日判斷這一年第幾天

演算法描述 輸入某年某月某日,判斷這一天是這一年的第幾天?輸入格式 輸入三個整數,分別代表 年 月 日。輸出格式 乙個整數,代表這一天是這一年的第幾天。樣例資料輸入 2018 3 5 樣例資料輸出 65思路 本題要做到容錯的話,需要對輸入的年月日進行判斷,看其值是否符合,例如 0 2 3 2018 ...

輸入某年某月某日,判斷這一天是這一年的第幾天?

案例 輸入某年某月某日,判斷這一天是這一年的第幾天?方法一 system.out.println 輸入某年某月某日 scanner sc new scanner system.in system.out.println 年 int year sc.nextint system.out.println...