while loop
while 迴圈
分成兩種,前判斷while與後判斷do...while。
while迴圈:前判斷式,當條件成立則執行。
while (條件){
指令
}
※前判斷式while()後面無分號,當條件不成立時可能一次都不會執行。※
範例:
sum=0;
i=1;
while (i<=10){
sum+=i;
i++;
}
[練習題一]
輸入一個整數,宣告為long long,以while迴圈計算該整數位數。
輸入1:5050
輸出1:4
輸入2:1010500
輸出2:7
提示:回圈內、除以10、位數變數+1,迴圈外輸出位數變數。
do...while迴圈:後判斷式,至少會執行一次指令,直到條件不成立才結束(一樣是條件成立才回去do繼續執行)。
do{
指令
} while (條件);
※後判斷式do...while()後面要加上分號。※
範例:
sum=0;
i=1;
do{
sum+=i++;
} while (i<=10);
[練習題二]
輸入一個整數,宣告為long long,以do while迴圈計算該整數位數。
(你沒看錯,就是同一題,改用後判斷式來做。)
輸入1:5050
輸出1:4
輸入2:1010500
輸出2:7
提示:回圈內、除以10、位數變數+1、注意跳出迴圈條件,迴圈外輸出位數變數。
[練習題三]
1.輸入一個整數,宣告為long long,以do while迴圈計算該整數位數(位數不同不補0)。
2.輸入一個整數,宣告為long long,以do while迴圈計算該整數位數(反轉位數與原值同,意即前面補0)。
提示:利用兩次do while,使用遞增運算子++。
[練習題四]
1.輸入一個整數,宣告為long long,計算位數並將該整數倒轉。(數學計算法)
2.輸入一個整數,宣告為long long,計算位數並將該整數倒轉。(陣列計算法)
輸入1:1230
輸出1:0321
輸入2:10205
輸出2:50201
提示:不足位前面要補0。
[練習題一]以while解位數
[練習題二]do while解位數
以do while迴圈較好判斷。
[練習題三]解法一_do while解位數、不補0
[練習題三]解法二_do while解位數、並補0
[練習題四]解答一_do while數學計算法
[練習題四]解答二_do while陣列法