C語言I博客作業08


這個作業屬於那個課程 C語言程序設計II
這個作業要求在哪里 C語言I作業08
我在這個課程的目標是 熟悉使用while和do-while結構解決問題
這個作業在那個具體方面幫助我實現目標 在作業中不斷總結錯誤,更好地掌握了C語言
參考文獻 C語言

1.PTA實驗作業

1.1題目1:7-3 jmu-c-二進制轉10進制

  • 題目內容描述:輸入一組二進制字符,輸出其對應的十進制數。當輸入回車鍵時,輸入結束。若輸入非二進制字符,輸出error input!

1.1.1數據處理

數據表達
  • 定義字符ch,整形變量sum存放結果,整形變量flag用於輔助判斷。
數據處理
  • 使用了while循環語句,while(ch!='\n)回車作為結束標志。
  • 使用了switch語句,switch(ch)當輸入新二進制字符十進制數*2+字符實現二進制轉十進制。
  • default ch='\n'當輸入非二進制輸出“error input!”,並結束循環。
  • if(flag==0)printf(“%d”,sum)輸入非法字符時不輸出sum。

偽代碼

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
1 1 二進制中1對應十進制中1
11111111 255 二進制中11111111對應十進制中255
34 error input 34是非二進制字符

1.1.4 PTA提交列表及說明

  • 編譯錯誤:第十行“%c”打成‘%c’,未注意引用號,
  • 部分正確:第二十行中"error input!\n"打成了"error input!",\n未打
  • 編譯錯誤:第二十八行 printf("%d",sum);未打sum。

1.2 題目2:7-5 爬動的蠕蟲

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

1.2.1數據處理

  • 數據表達:定義了整形變量N,U,D,L,time。N代表水井深度,U代表蠕蟲每分鍾向上高度,D表示蠕蟲每分鍾又下滑高度 ,L為蟲子消耗的時間 。
  • 數據處理:用了while語句進行循環,if語句進行條件判定。用了表達式 L=L+U表示蠕蟲爬的高度。用了表達式 L>=N,break;L=L-D;time++;表示蠕蟲爬出的時間。

偽代碼

1.2.2實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
15 5 1 7 深15寸的水井,每分鍾上爬5寸,每分鍾下滑1寸,爬到井頂要7分鍾
20 3 1 19 深20寸的水井,每分鍾上爬3寸,每分鍾下滑1寸,爬到井頂要19分鍾
50 40 30 3 深50寸的水井,每分鍾上爬540寸,每分鍾下滑30寸,爬到井頂要3分鍾

1.2.4 PTA提交列表及說明

  • 編譯錯誤:第7行將time=L=0打成了time=0
  • 編譯錯誤:第10行將time++;打成L++。
  • 編譯錯誤:第17行將printf("%d",time)打成printf("%d",L)。

2.代碼互評

  • 同學代碼
  • 自己代碼

比較

  • 1.他定義了一個變量x,我定義了變量sum,並以存放十進制數字flag輔助判斷。
  • 2.while循環語句進行條件的表達式是一樣的都是(ch!='\n')。
  • 3.他case'0',case'1'的表達式分開表示,分別為x=2x+0,x=2x+1,我的表達式只有一條為sum=sum*2+ch-'0'。
  • 同學代碼
  • 自己代碼

比較

  • 1.我定義了一變量N,U,D,L,time,而他定義了變量n,u,d,t,path,並給t,path賦了初始值。
  • 2.他運用了do-while語句和if-else語句,而我用了while語句。
  • 3.因為語句不同,所以對計算時間的消耗的表達式也不同,我分L<N和L>=N兩種情況討論,而他分了當t%2!=0的情況和除t%2!=0之外的情況。
  • 4.我認為兩個代碼各有優點,是兩種不同的思路,表達式完全不同,有值得借鑒的地方。

3.學習總結

3.1 學習進度條

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第六周 20小時 150行
第七周 24小時 150行 運用if,else語句 對符號的意思不太理解
第八周 18小時 200行 運用for循環語句
第九周/10.25 8小時 200行 學習了自定義函數 符號容易弄混
第十周/11.1 26小時 250行 熟悉並掌握了多分支結構 各個運算符的意思還不太理解
第十一周/11.8 24小時 300行 熟悉並掌握分支結構switch語句 對空格的使用還比較疑惑
第十二周/11.15 18小時 380行 學會使用while和do-while結構解決問題

3.2 累積代碼行和博客字數

3.3 學習內容總結和感悟

3.3.1 學習內容總結

3.3.2 學習體會

  • 本周熟悉並掌握了while和do-while結構語句,其實在之前作業里就有用到,這次是加以鞏固。
  • 同時也清楚了for語句和while語句的區別,對C語言的認識又有了更深層次的了解。對字符的使用也更得心應手了。


免責聲明!

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



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