C部落格作業02 迴圈結構

2022-05-23 06:51:07 字數 2866 閱讀 6242

do-while迴圈

break和continue語句

巢狀迴圈

2.1.1 偽**

定義字元型變數ch、oldch用了儲存使用者輸入的字元;定義乙個整型變數num,當使用者輸入的字元為數字時,將數值儲存到num中;定義乙個整型變數result,用於儲存並輸出計算的結果;定義乙個flag=0,用於判斷使用者是否輸入非法字元。

if ch為數字

then num = ch - '0'+ num*10

else switch(oldch)

if oldch為非法字元 then flag=1

else 做相應計算

end if

end if

if flag=0 then 輸出result

end if

2.1.2 **截圖

2.1.3 造測試資料

輸入資料

輸出資料

說明10/0=

error

除法分母為0的資料

1【2=

error

有非法字元的資料

1+2=

3正常資料

2.1.4 pta提交列表及說明

提交列表說明:

1.部分正確:沒有定義乙個flag判斷之前的資料中是否出現了不合法的情況,導致特殊情況時輸出的結果錯誤。

2.答案正確:定義乙個變數flag,通過判斷flag的值來判斷之前的資料中是否出現了不合法的情況。

2.2.1 偽**

定義time、rabbit、turtle分別表示時間、兔子跑的路程、烏龜跑的路程。

for i = 1 to i = time do

rabbit += 9;turtle += 3;

if i % 10 == 0 then

if rabbit > turtle then

if time - i >= 30 then

turtle += 90;i += 30;

else turtle += 3 * (time - i);break;

end if

end if

end if

end for

判斷rabbit和turtle的大小,按要求輸出結果。

2.2.2 **截圖

2.2.3 造測試資料

輸入資料

輸出資料說明7

_ 63

不足10分鐘的資料

20_ 90

正常資料

242@_@ 726

正常資料

2.2.4 pta提交列表及說明

1.部分正確:在vs上測試時只用了pta上給的資料,答案正確後就直接提交了,後發現沒有判斷兔子休息時時間已不足半小時的情況。

2.答案正確:在兔子休息的if語句裡再巢狀乙個if語句,用來判斷剩餘時間是否大於等於30分鐘,後進行相應計算。

2.3.1 偽**

定義乙個函式int fact(int m,int n),用來計算冪次方。

for i = fact(10, n - 1) to i = (fact(10, n) - 1) do

item = i;sum = 0;

for j = 1 to j = n do

num = item % 10;sum += fact(num, n);item = item / 10;

end for

if i == sum then printf("%d\n", i);

end if

end for

2.3.2 **截圖

2.3.3 造測試資料

輸入資料

輸出資料說明3

153、370、371、407

正常資料

71741725、4210818、9800817、9926315

正常資料

2.3.4 pta提交列表及說明

1.部分正確:第一次提交時使用了pow函式,答案都是正確的,但執行超時。

2.答案正確:這次提交計算冪次方使用了自己寫的函式,而不是直接用pow函式。

同學**:

#include int main()

t++;

if (trabbit % 10 == 0 )

}if (t == trabbit)

}if (rabbit > tortoise)

else if (rabbit < tortoise)

else

return 0;

}

我的**:

#include int main()

else

}} }

if (rabbit > turtle)

else if (rabbit < turtle)

else

return 0;

}

1.同學的**是在兔子休息時,烏龜的路程依舊一分鐘一分鐘的往上加,而我直接將烏龜的路程加上90,時間也加上30分鐘。

2.相比起同學的**,我這種方法效率會更高一些。

C部落格作業02 迴圈結構

本章主要學習了關於迴圈的一系列問題,由上一章學習的基礎語法及for迴圈過度到本章學習的while迴圈和do while迴圈以及它們之間相互的巢狀,自此迴圈的種類多樣化,更能解決生活中對應的繁雜巢狀的一些問題,這也要求我們掌握迴圈的本質 解決規律性的,重複的工作.並能夠看透各種題目背後的可迴圈性.當然...

C部落格作業02 迴圈結構

迴圈結構 單層 175 迴圈的巢狀 115 總分 290 烏龜每分鐘可以前進3公尺,兔子每分鐘前進9公尺 兔子嫌烏龜跑得慢,覺得肯定能跑贏烏龜,於是,每跑10分鐘回頭看一下烏龜,若發現自己超過烏龜,就在路邊休息,每次休息30分鐘,否則繼續跑10分鐘 而烏龜非常努力,一直跑,不休息。假定烏龜與兔子在同...

c部落格作業02 迴圈結構

while 表示式1 do while 表示式一 do while語句和while主要的區別在於do while對於迴圈體中的語句先執行一次再判斷條件,而while則是先判斷條件再看是否執行迴圈體中的語句 而while語句和for同為迴圈語句,對於什麼時候用while語句什麼時候用for語句有一些區...