首先,你需要明白這一點:
An if statement defines behavior for when **a decision is made**.
A loop (for, while, do-while) signifies **repetitive (iterative) work being done** (such as counting things).
一旦你理解了這些,下一步,當遇到一個問題,就是試圖打破這種問題了小的,易於管理的部分:
i.e. decisions, that provide you with the possible code paths down the way,
and various work you need to do, much of which will end up being repetitive,
hence the need for one or more loops.
舉例來說,假設我們有這個簡單的問題:
給定一個正數N,如果N是偶數,在2個步驟從 0(零)到N計數(顯示數字),如果N是奇數,從0計數到N中的 1.
步驟
首先,讓我們分析這個問題。
第1步:N的值。爲此,我們不需要任何決定,只要使用首選的方法得到它(從文件,讀取控制檯等)
第2步:做出決定:是N奇數還是偶數?
步驟3:根據步驟2中做出的決定,做功(計數) - 根據N的奇偶性,我們將以1或2爲步數從0到N進行迭代,並顯示每個步。現在
,我們代碼:
//read N
int N;
cin<<N;
//make decision, get the 'step' value
int step=0;
if (N % 2 == 0) step = 2;
else step = 1;
//do the work
for (int i=0; i<=N; i=i+step)
{
cout >> i >> endl;
}
這些原則,在我看來,適用於所有的編程問題,但當然,平時也不是那麼簡單的概念之間進行辨別。
其實,複雜的階段通常是問題的解體。那就是你實際上認爲。
編碼只是翻譯你的想法所以電腦可以理解你。
您是否嘗試用某種編程語言解決問題?如果你不這樣做,那就做吧!編程是關於編寫程序:-)如果你這樣做,你使用什麼語言和什麼工具? –
這是關於Java?然而,這個問題可能是在這裏討論的話題(可能基於觀點,太模糊等),可能會被關閉。 – Anna