這個作業屬於那個課程 |
C語言程序設計II |
這個作業要求在哪里 |
C語言I作業08 |
我在這個課程的目標是 |
熟練運用do-while語句 |
這個作業在那個具體方面幫助我實現目標 |
在PTA的練習中,和對知識的自我總結上 |
參考文獻 |
集美大學林麗老師、百度文庫、C語言程序設計 |
1.PTA實驗作業

1.1 題目名1
求整數的位數及各位數字之和
對於給定的正整數N,求它的位數及其各位數字之和。
輸入格式:
輸入在一行中給出一個不超過10
9
的正整數N。
輸出格式:
在一行中輸出N的位數及其各位數字之和,中間用一個空格隔開。
輸入樣例:321輸出樣例:3 6
1.1.1數據處理
{
定義變量N(用來存放輸入的整數),i(用來存放整數的位數),c(整數中各位數的和)
i=0
c=0
對i,c初始化為0
while N>0(當N>0時)
{
c=N%10+c 對輸入的數取余,得出個位數
N=N/10 用輸入的除以10,刪掉原本的個位數
i++ 累加位數
}
輸出位數,各個位數的和的值
結束
}
1.1.2實驗代碼截圖

1.1.3 造測試數據
輸入數據 |
輸出數據 |
說明 |
456 |
3 15 |
輸入的為三位數,他們的和為15 |
789 |
3 24 |
輸入的為三位數,和為24 |
6589 |
4 28 |
輸入的為四位數,和為28 |
1.1.4 PTA提交列表及說明

* 答案錯誤:在N>0中加了等於號,提交后發現錯誤又想了一遍
* 答案錯誤:輸出的格式不對忘記加空格了,又看了一遍題才發現的
* 答案錯誤:把要輸出的字母弄錯了,看錯誤提示發現的
2.2題目名2
爬動的蠕蟲
一條蠕蟲長1寸,在一口深為N寸的井的底部。已知蠕蟲每1分鍾可以向上爬U寸,但必須休息1分鍾才能接着往上爬。在休息的過程中,蠕蟲又下滑了D寸。就這樣,上爬和下滑重復進行。請問,蠕蟲需要多長時間才能爬出井?
這里要求不足1分鍾按1分鍾計,並且假定只要在某次上爬過程中蠕蟲的頭部到達了井的頂部,那么蠕蟲就完成任務了。初始時,蠕蟲是趴在井底的(即高度為0)。
輸入格式:
輸入在一行中順序給出3個正整數N、U、D,其中D<U,N不超過100。
輸出格式:
在一行中輸出蠕蟲爬出井的時間,以分鍾為單位。
輸入樣例:
12 3 1
輸出樣例:
11
1.1.1數據處理
{
定義變量N(井的深度),D(掉下來的長度),U(爬上去的長度),i(時間),a(實際上爬的長度)
a=0
i=0
對,a,c進行初始化為0
while a<=N 當a<=N時
{
i++ 對i進行累加
a=a+U; 對實際長度進行累加 其中的+U只有最后一次循環真正加了U的值
if a大於等於N
{
break; 跳出循環
}
else
i++ 繼續累加時間
a=a-D; 減去U中多加的值
}
輸出時間的值
結束
}
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 |
輸出數據 |
說明 |
3 12 1 |
1 |
D>N,所以不足一分鍾,但是不足一分鍾也算作一分鍾 |
5 2 1 |
7 |
N>D,當深5米,爬2米,掉1米時需要7分鍾才能爬出去 |
9 5 3 |
5 |
N>D,當深9米,爬5米,掉3米時需要5分鍾才能爬出去 |
1.1.4 PTA提交列表及說明

*編譯錯誤:printf后面的語句忘記打分號了,看了錯誤提示發現的
*部分正確:while語句中沒打等於號,問了同學發現的
*部分正確:忘記給i賦值了,看了錯誤提示發現的
2.代碼互評
自己代碼:

同學代碼:

* 同學用了for循環語句,而我用的是while循環語句。
* 同學用了數組s[i]存放數據,而我用的是字母C累加的方法計算數據。同學方法比較先進可以借鑒,不過我的方法比較好理解。
自己代碼:

同學代碼:
A同學:

B同學:

* A同學與我一樣用了while循環語句,不過她的比我簡潔了一些。可以學習一下她的方法
* B同學從循環一開始就用了if-else語句,而我是等到經過一系列循環后再使用if語句判斷是否可以跳出循環語句。
3.學習總結
3.1 學習進度條
周/日期 |
這周所花的時間 |
代碼行 |
學到的知識點簡介 |
目前比較困惑的問題 |
第六周 |
4天 |
20 |
用 MinGW-w64 來編譯C程序,學習編程計算溫度的轉化 |
無 |
第七周 |
3天 |
99 |
學習用if,else等語句編譯程序 |
無 |
第八周 |
2天 |
75 |
學習使用循環語句,用for來編譯程序 |
無 |
第九周 |
3天 |
94 |
學習各種使用函數eg:fact(i) |
for循環與while循環的區別 |
第十周 |
2天 |
213 |
學習使用多種分支結構 |
對分支結構中for循環有點迷糊不太能理解 |
第十一周 |
1天 |
135 |
學習使用switch語句 |
無 |
第十二周 |
1天 |
96 |
學習使用while語句 |
無 |
3.2 累積代碼行和博客字數

3.3 學習內容總結和感悟
3.3.1 學習內容總結

3.3.2 學習體會
這周學習了while語句,這個語句在學習for循環的時候已經自己預先學習過,在學習for循環的時候,做PTA作業時我比較喜歡用while循環,因為它比較直接,簡單。現在真正在課堂上接觸它也感覺得心應手了很多。雖然在PTA的練習中我也時常出現許多小毛病,但是在思路方面變得熟練了很多然后在做博客園的總結中,使我能更深入的思考學過的知識點,並且提高了自己的總結能力。希望在以后的學習也能這樣得心應手。隨着PTA的難度、行數也在逐漸提高,代表着我需要更加努力!
