三天打魚兩天曬網問題

2021-09-12 17:25:09 字數 1243 閱讀 2524

中國有句俗語叫「三天打魚兩天曬網」。某人從2023年1月1日起開始「三天打魚兩天曬網」,問這個人在以後的某一天是「打魚」還是「曬網」。
1、輸入乙個年月日,判斷輸入的年月日是否符合實際。如果輸入符合要求,計算從2023年1月1日到所輸入日期的總天數。

總天數的演算法:首先計算從2010到所輸入年份的所有年的天數之和,(年能被除盡且不能被100除盡或者年能被400除盡是閏年)閏年366天,平年365天;再算所有整月的天數之和;最後將整年天數加上整月天數加上輸入的天數之和就是總天數。

2、「三天打魚兩天曬網」,乙個週期是5天,將總天數除以5取餘數。

3、根據餘數判斷是「打魚」還是「曬網」,如果餘數是1或2或3,則是打魚,餘數是0或4則是曬網。

/*中國有句俗語叫「三天打魚兩天曬網」。某人從2023年1月1日起開始「三天打魚兩天曬網」,

問這個人在以後的某一天是「打魚」還是「曬網」。*/

#includeint main()

else

if(sum%5==0||sum%5==4) //天數總和除以5求餘數,餘數為0或4則這天曬網,否則這天打魚

以上三張執行結果的截圖中,圖1輸入時年月日之間連在一起輸入,沒有執行結果;圖2輸入時年月日用空格隔開,執行結果正確;圖3輸入時年月日用逗號隔開,執行給出的結果不符合預期,則判斷此種年份輸入方式不可取。

在此次作業中,我遇到的難題是如何計算給定日期到輸入日期之間的總天數,這其中需要考慮是否有閏年以及如果輸入年份那年時閏年,需要判斷月份大於二月或是小於二月,我利用if和switch語句的聯合使用解決了這一問題。程式完成之後,需要除錯程式,其中需要檢測給定年份到輸入年份之間的總天數計算是否正確,我在本次作業中沒有解決這乙個問題,下去之後我會繼續研究。

三天打魚,兩天曬網。

判斷某人從2010年1月1日起開始 三天打魚,兩天曬網 到之後某一天是在打漁還是曬網 設計日期 2019.3.1 include define year 2010 void main 用陣列表示每月的天數 printf 請輸入所要判斷的時間 n scanf 4d 2d 2d year,month,d...

三天打魚兩天曬網 C Java

中國有句俗語叫 三天打魚兩天曬網 某人從1990年1月1日起開始 三天打魚兩天曬網 問這個人在以後的某一天中是 打魚 還是 曬網 問題分析與演算法設計 根據題意可以將解題過程分為三步 1 計算從1990年1月1日開始至指定日期共有多少天 2 由於 打魚 和 曬網 的週期為5天,所以將計算出的天數用5...

三天打魚兩天曬網(c )

中國有句俗語叫 三天打魚兩天曬網 某人從2010年1月1日起開始 三天打魚兩天曬網 問這個人在以後的某一天中是 打魚 還是 曬網 思路 問題分析與演算法設計 根據題意可以將解題過程分為三步 1 計算從2010年1月1日開始至指定日期共有多少天 2 由於 打魚 和 曬網 的週期為5天,所以將計算出的天...