關於陣列,函式的乙個簡單例子(打漁曬網)

2021-07-15 14:44:20 字數 1109 閱讀 8150

某人從2023年1月1日起開始「三天打漁兩天曬網」,問這個人在以後的某一天是打漁還是曬網?

這個問題,首先應該想到如果想要知道該人是打漁還是曬網,那就應該計算出從2023年1月1日到以後的某一天總共的天數,然後依據三天打漁兩天曬網,用總天數對5做求模運算。這樣該問題就可以簡化為兩大步:

1、求總天數

在求總天數中,又可細分幾步。首先,根據使用者輸入的年月日計算這一天是該年的第幾天,計算過程可寫成函式int getdays(int year,int month,int day),這裡就需要知道這一年是平年還是閏年,因為後面多次用到判斷一年為平年還是閏年,所以可以寫成乙個函式int leapyear(int year);

然後計算從2023年到這一年總共經過的年數,根據年數可以計算出天數,該處繼續用到平閏年的判斷;

最後將計算得到的兩種天數相加,即為從2023年1月1日起到使用者輸入的年月日止經過的總天數。

2、求模運算,列印結果

得到總天數後,對5做求模運算,若餘數為1或2或3,表明他在打漁,若是其他情況,則表明他在曬網。

為了方便起見,我把使用者輸入的年月日直接用變數自己定義好,描述詳見**:

//三天打漁兩天曬網

int leapyear(int year)

}int getdays(int year,int month,int day)

; if(leapyear(year) == 1)

for(int i = 1;i < month;i++)

sum = sum + day;

return sum;

}int main()

} sum = sum + getdays(year,month,day);

printf("從2023年1月1日到%d年%d月%d日有%d天\n",year,month,day,sum);

if(sum%5 == 1 || sum%5 == 2 || sum%5 == 3)

else

return 0;

}

本題是基於陣列,函式乙個簡單例子,經驗是不斷從程式設計練習中培養思考問題和解決問題的能力,形成一定邏輯的思維,對乙個問題只要有自己清晰的認識以及解決方案,就說明是真正學到了東西。希望大家多多指導。

關於AJAX乙個簡單的例子

asp教程 關於ajax乙個簡單的例子 index.asp 程式 此處顯示新 div 標籤的內容 info.asp 程式 response.charset gb2312 不設定中文會亂碼 dim i,arr 9 arr 0 隨機資訊000000000000000000 arr 1 隨機資訊11111...

關於陣列的乙個例子

慶祝活動,現在a b c三條 要同時開始鳴放禮炮各21響。已知a艦每隔5秒鳴放一次,b艦每隔6秒鳴放一次,c艦每隔7秒鳴放一次。假設炮手對時間掌握的都很準,那麼總共聽到多少聲炮響?對於這個問題,可以使用陣列來解決。首先使用三個陣列分別存放a,b,c艦21響禮炮的鳴放時間點,這裡可以使用乙個for迴圈...

乙個簡單的oracle函式返回陣列的例子 zz

乙個簡單的oracle函式返回陣列的例子 zz create or replace type t ret table is table of varchar2 20 create or replace function f test var num in integer return t ret t...