C語言I博客作業09


這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/CST2020-2
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11635
這個作業的目標 回顧總結之前所學知識,學好c語言的基礎知識,為之后能更好的學習相關專業知識
學號 20208966

1.PTA實驗作業(20分/題)

1.1 題目1

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

1.1.1 數據處理

數據表達:定義了整型b接收各位數,將N賦值給n,數組c用來統計,將開平方數賦值給a
數據處理:利用if判斷是否完全平方和while循環將各位數分開並統計
      表達式:int a=sqrt(n);
            b=n%10;
            c[b]++;
            if(c[b]==2)
                return 1;
            n/=10;

1.1.2 實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
122 143 cnt = 0 無完全平方數
145 170 cnt = 0 有一位完全平方數但無至少兩位數相同(169)

1.1.4 PTA提交列表及說明

編譯錯誤:定義const常量N具有不可變性,如果不用一個變量接收N,將會顯示assignment of read-only parameter ‘N’

1.2 題目2

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

1.2.1 數據處理

數據表達: 在第一個函數里定義了整型a用來接收個位數,s用來接收各位數的和;第二個函數里定義了整型count統計有多少個滿足條件的數,sum接收滿足條件數的總和
數據處理:第一個函數里用while循環將個位數加起來再用if判斷是否和為5;第二個函數用for循環統計個數和總和
      表達式:while(number>0)
    {
        a=number%10;
        number/=10;
        s+=a;
    }

      for(int i=a;i<=b;i++)
    {
        if(is(i))
        {
            count++;
            sum+=i;
        }

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
14 23 14 is counted. 23 is counted. count = 2, sum = 37 只有14和23符合條件
14 22 14 is counted. count = 1, sum = 14 區間內14滿足條件

1.2.4 PTA提交列表及說明

答案錯誤:最后輸出結果count和sum之間沒有逗號隔開

2.代碼互評(5分)

同學代碼截圖

1.

2.

自己代碼截圖

對比:第一位同學與我的基本思路相同,他還使用了flag標識並作為返回值
第二位同學的代碼運用了switch-case,更為詳細也容易讓人理解

3.學習總結(15分)

3.1 學習進度條(5分)

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

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

3.3.1 學習內容總結

3.3.2 學習體會

1.這一周感覺過的比較忙碌,一周下來收獲東西較少,復習偏多,東忙西忙最后感覺什么都沒有做。
2.這個學期也接近尾聲了,前一段時間對數學和英語沒有太上心,后面復習要合理安排各科之間學習時間。
3.c語言也學了這么久了,但還是感覺自己只摸到了一點皮毛而已,希望能在后面的時間里能順利入門。


免責聲明!

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



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