C語言I博客作業09


C語言I博客作業09

作業頭

這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/CST2020-1
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530
這個作業屬於那個課程 C語言程序設計II
我在這個課程的目標是 深入函數
這個作業在那個具體方面幫助我實現目標 進一步熟悉函數的使用
參考文獻 c語言程序設計(第三版)
學號 20208955

二、PTA實驗作業(20分/題)

排名圖片

1.1

第一題

6-2 統計各位數字之和是5的數 (20分)
本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於5;另一個函數統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和。

1.1.1

數據處理

數據表達:使用了變量 函數整型a,b;函數整型number;整型n,s,a,c,sum;n是轉換代替mumer;s是判斷個個位數之和是否為5;a是各個位數的數值;c是給定范圍內符合要求的個數;sum是給定范圍內符合要求的個數之和。

數據處理: 表達式: a = n % 10,n = n / 10;
          流程結構:一共使用了三個函數,一個主函數,兩個副函數,兩個副函數的主要作用分別是:
         ‘int is( int number );’:判斷number的各位數字之和是否等於5,是則返回1,否則返回0。
         ‘void count_sum( int a, int b );’:利用函數is統計給定區間[a, b]內有多少個滿足上述要求(即令is返回1)的整數,並計算這些整數的和。
         

1.1.2

實驗代碼截圖

1.1.3

造測試數據

數據 結果 說明
0 23 23 is counted.\n c=3,sum=42 從0開始
2 4 c=0,sum=0 沒有符合要求的可能
103 105 c=1,sum=104 只有104一個符合

1.1.4

PTA提交列表及說明

說明

答案錯誤:在VS里面沒有將題目的格式處理好就提交了。
編譯錯誤:在while語句中,循環時括號錯誤。

1.2

第二題

6-1 統計某類完全平方數 (20分)
本題要求實現一個函數,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。

1.2.1

數據處理

數據表達:定義了 整型變量 M,i,j,數組a[10],x,m,n;M用來轉換變量N即輸入的數,i是多余的(提交時忘了刪),j是用來初始化並與a[10]記錄有多少余數的,x轉換sqrt(N),n,m是循環判斷有沒有相同的的位數。
數據處理:  表達式:a[j++]=M%10,M=M/10,x*x==N;
           流程結構:先做好前期准備,x是N開平方后的值。再循環記錄各位數。再循環判斷是否位數有相同的。最后再判斷可不可以開平方。

1.2.2

實驗代碼截圖

1.2.3

造測試數據

數據 結果 說明
143 145 cnt=1 只有一個符合條件
0 1 0 沒有符合條件的
1 100 cnt=1 正常數值

1.2.4

PTA提交列表及說明

說明

部分正確:沒有將a[j]=M加上去,開始以為沒必要,其實這是要用來儲存最后一位數的

部分正確:開始時a[j++]是a[j]沒有用來記錄,儲存數的作用。

三、代碼互評

同學代碼

第一位

第二位

自己

第一位

  • 主要的區別還是同學用了函數,而我是用的while循環來輸入棱形的組數,我的更加簡單,方便。同學的更高層次,可以應對更多的情況。

  • 總的棱形的輸出都是差不多的。

  • 都用了細節getchar()消掉最后的回車。

第二位

  • 本質的思路與想法沒有太大的差別。

  • 同學的將一些小細節,一些轉換直接套用,我的是分開要一步步來,我的更詳細,同學的更熟練。

3.1學習總結(15分)

3.1 學習進度條(5分

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第八周 6小時 262 怎么輸出內容 一些結構的定義
第九周 8小時 670 開始輸入及套用公式 字符的一些定義
第十周 24小時 593 數組 迷糊流程,字符串,以及對題目的處理
第十一周 30小時 1034 函數 宏定義,對題目不能很好的反應過來
第十二周 32小時 2431 EOF等一些基本知識,接觸到了c++ 對於一些函數還不能很好的運用
第十三周 32小時 2742 switch的靈活運用 用函數去表達素數
第十四周 28小時 2324 which,do while 循環 將之前所學的知識結合起來運用,循環會亂
第十五周 28小時 2453 熟悉break、continue的使用 循環邏輯有點混亂
第十六周 33小時 2489 函數返回值 對於函數還不夠熟練,沒有經常性的用到

3.2累積代碼行和博客字數(5分)

時間 博客字數 代碼行數
第八周 585 262
第九周 1031 670
第十周 1289 593
第十一周 1413 1034
第十二周 1664 2431
第十三周 1998 2742
第十四周 2453 2324
第十五周 1902 2453
第十六周 2017 2489

3.3 學習內容總結和感悟(5分)

3.3.1 學習內容總結

3.3.2 學習體會

函數的話其實之前都不怎么熟練,經過后面課堂上的學習又更加了解了一些,如果時間允許的話,其實是可以將以前寫過的部分題目轉為用函數來表示。再接着就是要期末了,先不說其他的科目,助教也要助教測試了,內心真是百感交集,總的一學期,學的東西還是有的,但是還不夠,新的題目應該是沒用了,還是看看之前學過的來復習比較實在。保持積極的心態!


免責聲明!

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



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