循環回顧
1.for循環
for (初始表達式;循環條件表達式;增量表達式) { 循環語句; } for (初始表達式;循環條件表達式;增量表達式) { for (初始表達式;循環條件表達式;增量表達式) { 循環語句; } }
2.whil循環
while (條件表達式) { 循環體; } do{ 循環體; }while(條件表達式);
continue
作用:結束本次循環,執行增量表達式,繼續進行下一次循環
使用場合:循環里面
break
作用:跳出循環
使用場合:1、switch 結束switch語句,實現分支結構
適用場合
for \ while
for 一般適用於知道循環次數的場合
while 可以用於不知道循環次數的場合
for( ; ; )
for 和 while 可以進行互相轉換
解題步驟:
1、草稿上進行模擬;數學解題思想是什么?
2、把復雜的簡單化;
* * *
* * *
* * *
3、先實現簡單的;
4、將你的思想轉化為代碼。
for 事前知道循環次數
while 可以事前不知道循環次數
================ 循環進階練習:==============
1.輸出下面序列的前n項. 斐波那切
1 1 2 3 5 8 13 21 34 55 89…
a b ret
a b ret
a b ret
a b ret
if(n<=2)
{
a = 1;
b = 1;
}
else
{
ret = a + b;
printf(“%d”,ret);
a = b;
b = ret;
}
<1>提煉核心算法:
關鍵: 求每一項
<2>轉化為代碼的規律:
循環開始:
循環結束:
循環增量:
<3>核心代碼
2.逆序輸出指定數字的二進制
10 -> 1010 輸出 0101
10%2 5 0
5%2 2 1
2%2 1 0
1%2 0 1
<1>提煉核心算法: :
<2>轉化為代碼的規律:
循環開始:
循環條件:
循環增量:
<3>核心代碼
3.輸入一個(int 范圍內)整形數字 ,逆序輸出.
1234 ----- > 4 3 2 1
1234%10 123 4
123%10 12 3
12%10 1 2
1%10 0 1
<1>提煉核心算法:
<2>轉化為代碼的規律:
循環開始:
循環結束:
循環增量:
<3>核心代碼
4. 練習輸出
ABCD
ABC
AB
A
<1>提煉核心算法:
<2>轉化為代碼的規律:
循環開始:
循環結束:
循環增量:
<3>核心代碼
5.實現分解質因數.
60 = 2 *2 *3 * 5
60%2 2
30%2 2
15%3 3
5%5 5
<1>提煉核心算法:
<2>轉化為代碼的規律:
循環開始:
循環結束:
循環增量:
<3>核心代碼
6.(1)輸出100以內的所有素數(質數).
(2)輸出任意指定范圍內的所有素數(質數).
【提示】判斷一個數是否為素數。
素數:除了1和本身外的正數,沒有其他質因數,1不是素數。
<1>提煉核心算法:
<2>轉化為代碼的規律:
外循環
循環開始:
循環結束:
循環增量:
<3>核心代碼
7.在整數范圍內輸出下列序列的數字
輸出幾行由鍵盤輸出決定.
2
22
222
2222
22222
<1>提煉核心算法:
<2>轉化為代碼的規律:
循環開始:
循環結束:
循環增量:
<3>核心代碼
