C語言I博客作業08


這個作業屬於那個課程 C語言程序設計II
這個作業要求在哪里 C語言I作業08
我在這個課程的目標是 熟練掌握C語言
這個作業在那個具體方面幫助我實現目標 在PTA上各種題型的練習和老師布置的類型作業
參考文獻 百度

一、PTA作業

1.1求整數的位數及各位數字之和

對於給定的正整數N,求它的位數及其各位數字之和。

輸入格式:

輸入在一行中給出一個不超過十的九次方的正整數N。

輸出格式:

在一行中輸出N的位數及其各位數字之和,中間用一個空格隔開。

輸入樣例:
321

輸出樣例:
3 6

1.1.1 數據處理

數據表達:用了整形變量number, temp, i = 0, sum = 0;
sum表示各位數字之和,i表示它的位數
數據處理:用了while語句,
用了表達式sum += temp % 10除以10取余數
用了表達式 temp /= 10除以10取余數
用了表達式 i++使用i之后再加一

偽代碼

include <stdio.h>

int main(void)
{
定義整形變量number, temp, i = 0, sum = 0
scanf("%d", &number);
temp = number;
while (temp) {
sum += 除以10取余數;
temp 除以10取商;
i++;
}
printf("%d %d\n", i, sum);輸出它的位數及其各位數字之和

return 0;

}

1.1.2 實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
28 2 10 28它的位數是2及其各位數字之和是10
327 3 12 327它的位數是3及其各位數字之和是12
527 3 14 527它的位數是3及其各位數字之和是14

1.1.4 PTA提交列表及說明

提交列表說明:

在編譯器中提前編譯,所以沒有錯誤

1.2爬動的蠕蟲

一條蠕蟲長1寸,在一口深為N寸的井的底部。已知蠕蟲每1分鍾可以向上爬U寸,但必須休息1分鍾才能接着往上爬。在休息的過程中,蠕蟲又下滑了D寸。就這樣,上爬和下滑重復進行。請問,蠕蟲需要多長時間才能爬出井? 這里要求不足1分鍾按1分鍾計,並且假定只要在某次上爬過程中蠕蟲的頭部到達了井的頂部,那么蠕蟲就完成任務了。初始時,蠕蟲是趴在井底的(即高度為0)。

輸入格式:
輸入在一行中順序給出3個正整數N、U、D,其中D<U,N不超過100。

輸出格式:
在一行中輸出蠕蟲爬出井的時間,以分鍾為單位。

輸入樣例:
12 3 1
輸出樣例:
11

1.2.1 數據處理

數據表達:用了整形變量N,U,D,L,time下滑了D寸,L表示高度,N表示深為N寸,向上爬U寸
數據處理:用了while語句和if語句,
用了表達式time表示時間的變化;
用了表達式 L=L+U表示蠕蟲爬的高度;
用了表達式 L>=N,break;L=L-D;time++;表示蠕蟲爬出的時間

偽代碼:

include <stdio.h>

int main()
{
定義爬蟲的高度,向上爬的寸數,下滑的寸數,井的深度
scanf("%d %d %d",&N,&U,&D);
定義爬蟲需要的時間
time=L=0;
while(蠕蟲的高度<井的深度){
time++;
L=L+U;
if(蠕蟲爬的高度>井的深度)
退出
L=L-D;
time++;
}
printf("%d",time);輸出蠕蟲所需的時間
return 0;
}

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
15 6 2 7 深為15寸的井,蠕蟲每1分鍾可以向上爬6寸,蠕蟲需要7分鍾才能爬出井
13 4 2 11 深為13寸的井,蠕蟲每1分鍾可以向上爬4寸,蠕蟲需要11分鍾才能爬出井
14 5 3 11 深為14寸的井,蠕蟲每1分鍾可以向上爬5寸,蠕蟲需要11分鍾才能爬出井

1.2.4 PTA提交列表及說明

提交列表說明:

在編譯器上提前編譯,所以沒有錯誤,在編譯器上的錯誤已經記下

2.代碼互評

同學代碼截圖

自己代碼截圖


該同學用了整形變量x,d,i,n,字符型數組s[100];我用了整型變量num,n,mask,i
該同學用了數組的知識點,而我只用了while語句和if語句的結合
結構上該同學的更加整潔美觀,而我的有點復雜難懂

同學代碼截圖

自己代碼截圖


該同學的代碼是分開列舉距井口的距離是否大於零,距離井口的距離和一分鍾內爬的距離的大小,最后輸出時間;我的代碼是判斷蠕蟲的高度和井口的距離,最后輸出時間
該同學的代碼整潔美觀,更容易讓人看懂,我的代碼相較之下,有點復雜

3.學習總結

3.1 學習進度條

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第六周 21小時 400行 如何用 MinGW-w64 來編譯C程序
第七周 24小時 478行 運用if語句完成各種數學程序 對於&&的用法不了解,現在操作不熟練
第八周 20小時 349行 掌握使用for循環語句實現指定次數的循環程序設計
第九周 23小時 264行 學會使用自定義函數 目前不太熟練
第十周 22小時 167行 熟悉多分支結構、字符型數據類型和邏輯運算符 還沒有完全熟悉
第十一周 18小時 150行 熟悉多分支結構switch語句的使用
第十二周 16小時 130行 熟悉使用while和do-while結構解決問題 目前還不太熟練

3.2 累積代碼行和博客字數

時間 博客字數 代碼行數
第四周 525 50
第五周 645 100
第六周 645 400
第七周 2659 478
第八周 3586 597
第九周 4769 698
第十周 5897 787
第十一周 6289 897
第十二周 7594 1056

3.3 學習內容總結和感悟

3.3.1 學習內容總結

3.3.2 學習體會

學習c語言有一段時間了,越是學到后面越難,上周學習了分支結構的嵌套的又一個語句,這周學習了do while語句,並且知道了while語句,for語句和do while語句的區別,又增加了一項編碼技巧,也學到了新的C語言知識,現在編代碼時沒有以前那么吃力了,但是仍然不太熟練,而且題目也越來越難了,我還欠缺很多的鍛煉,也欠缺很多知識,我以后還需要更努力的去練習,花更多的時間在這里,朝着我的目標前進


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM