C語言I博客作業07


這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/CST2020-2
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11589
這個作業的目標 熟悉使用while和do-while結構解決問題
學號 20208965

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

1.1 題目名1求整數的位數及各位數字之和 (15分)

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

輸入格式:
輸入在一行中給出一個不超過10
​9
​​ 的正整數N。

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

1.1.1數據處理

數據表達:本題變量為N,w,sum;其中N通過輸入得到,w,sum通過計算式得到;都定義為整型。
數據處理:運用了do-while循環語句,表達式為:
    int N,w,sum;
    do{
    sum=sum+N%10;
        N=N/10;
        w++;
    }while(N>0);

偽代碼如下:
首先定義變量N,w,sum
w,sum的初始值都為0
運用do-while循環語句執行  
        do{
        scanf("%d",&N);
 求各位數字之和  sum=sum+N%10;
    令數位少一  N=N/10;
       求各整數的位數 w++;
        }while(N>0);
執行循環體后判斷條件是否成立。

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
0 0 0 數字0非正整數
966 321 三位數,各位數字之和為21
7456 421 四位數,各位數字之和為21
66800 520 五位數,各位數字之和為20

1.1.4 PTA提交列表及說明

格式錯誤:printf("%d %d",x,z);題目說中間需要空格,我忘記打了。
編譯錯誤:測試時提示while有錯誤。
解決方式:do-while語句中while條件后要加上分號,后改正。

1.2 題目2 購物(二)

用戶購買了若干個商品(商品數不超過10),現在,他告訴你每件商品的價格,你計算出這些商品的平均價格。

輸入格式:
若干個以空格間隔的實數(每個數不超過100000),以-1作為輸入結束的標志。

輸出格式:
一個實數,表示商品的平均價格,精確到小數點后兩位。

1.2.1 數據處理

**數據表達**:x,y,z,a為雙浮點型,x輸入賦值,y,z,a初始化。
**數據處理**:表達式:z<-z+x;a<-z/y;
            流程結構:while語句,if-else語句。

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
890.78 2769.8 12300 3532.2 -1 4873.19 這些商品的平均價格
0 -1 0.00 商品數為0

1.2.4 PTA提交列表及說明

部分正確:開始把if語句放在while語句中,導致商品數為極端值時出錯誤。
部分正確:一開始將s=s+p的位置和第二個scanf的位置弄反了,改正后正確。

2.代碼互評(5分)

同學代碼截圖

自己代碼截圖

1.該同學在數雞蛋一題中用了while循環,而我用的是for循環。
2.在數雞蛋那一題中用while循環會比較簡潔一點。
3.在購物一題中我們雖然都用的while循環,但是定義的字符不一樣,該同學一看就知道字母表達的是什么,我的比較簡單。
4.在購物一題中同學的代碼比我的要復雜一些,我們在一些細節的處理上存在區別。

3.學習總結(15分)

3.1 學習進度條(5分)

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

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

3.3.1 學習內容總結

3.3.2 學習體會

1.學的東西越來越多,寫的題也變難了,學的東西越來越多,寫的題也變難了。
2.之前容易出錯的細節都不會錯的,但又出現了別的細節錯誤。
3.本周的PTA作業比之前的都要難,寫的就很慢,問題也多,痛並快樂着,為自己加油!


免責聲明!

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



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