C語言|博客作業10


這個作業屬於哪個課程 C語言程序設計II
這個作業的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095
我在這個課程的目標是 學習基礎程序語言C語言,基本掌握C語言的思維方向
這個作業具體在哪個方面幫助我實現目標 編程訓練,思維構建,邏輯推導,字符型變量,嵌套循環的練習
參考文獻 百度,C語言程序設計

1.PTA實驗作業

1.1 題目1

7-8 輸出三角形字符陣列

1.1.1數據處理

數據表達:變量i是行數的計數器;變量j是每行列數的計數器;n是輸入的數,也是用來監控每行列數是否完成的;num是每一行的總列數;sum是總行數
數據處理:
#include<stdio.h>
int main ()
{
    定義變量
    用戶輸入
    將sum以及num賦值
    while (i<num)
    {
        把num賦值給n,以免在內循環中n值丟失
        for (j=0;j<num;j++)
        {
            輸出一個字母
            字符累加
            n累減1,使得在該行的字母不會無限增加
        }
        輸出換行
        累加行數
        num累減
    }
    
    return0;
}  

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
4 A B C D <換行>E F G <換行>H I <換行>J 第一行和第一列都是4
3 A B C <換行>D E <換行>F 第一行和第一列都是3

1.1.4 PTA提交列表及說明


格式錯誤1、2:在while語句的條件句中我將條件設置為i<=sum,所以在輸出結果中多了一次換行。在此感謝助教羅鵬同學的幫助
答案正確:將條件改為i<sum,答案正確。

1.2題目2

7-3 梅森數

1.2.1數據處理

數據表達:變量sum是最后輸出的梅森數;num是用戶輸入變量;i是外循環的計數器;j是內循環的計數器;k是在內循環的if-else語句里的計數器
數據處理:
#include<stdio.h>
#include <math.h>
int main ()
{
    定義變量
    用戶輸入
    for(i=2;i<=num;i++)
    {
        計算sum
        for(j=2;j<=sum的平方)
            if (判斷sum/j是否與0相等) break;
        if(j>sum的平方)
        {
            輸出梅森數
            k++;
        }
    }
    if (k==0)
        輸出“None”

    return 0;

}

1.2.2實驗代碼截圖

1.2.3造測試數據

輸入數據 輸出數據 說明
1 None 最小梅森數是3
6 3<回車>7<回車>31 2的6次方有三個梅森數
19 3<回車>7<回車>31<回車>127<回車>8191<回車>131071<回車>524287 2的19次方有7個梅森數
21 3<回車>7<回車>31<回車>127<回車>8191<回車>131071<回車>524287 因為給出的范圍是輸入需要小於20,所以當輸入21時,輸出仍然是輸入十九是的數字

1.2.4PTA提交列表及說明


答案正確:之前的思路只有一個大概的輪廓,寫出來也總是不能對,后面再網絡上百度了這道題,看到了大佬們的寫法,才按着思路寫下來。但可能因為不是我完全的獨立思考,有些地方寫完了我也不能解釋的很清楚

1.3題目3

7-4 同構數

1.3.1數據處理

數據表達:變量i是計數器,也是同構數
數據處理:
#include<stdio.h>
int main ()
{
    定義變量
    for (i=1;i<1000;i++)
        if (判斷i是否是同構數)
        輸出i(記得留出六個位數)

1.3.2實驗代碼截圖

1.3.3造測試數據

輸入數據 輸出數據 說明
1 5 6 25 76 376 625 無輸入

1.2.4PTA提交列表及說明


答案正確:剛開始我用的平時做題的思路想的,但是一直輸出不了,那時的代碼也不能調試,一調試就直接結束。后面看到別人用的是直接輸出,我也就這么做了(捂臉),老師說不可以,我就撿起最開始的思路來想。雖然最后還是沒有想出來,而且好復雜的樣子。
答案錯誤:這就是我在看了同學代碼之后的嘗試。我忘記把1也設定進去了
答案正確:我也不知道這是什么神奇代碼,耗時居然只有2ms?但是我完全沒有印象
答案正確:答案錯誤改正之后的結果。同學的這段代碼我真的想不到。利用題目給出的范圍判斷同構數,很簡單也很巧妙。

2.代碼互評

同學代碼:

我的代碼:

1、同學的代碼是直接用兩個for排出行和列的。我的是用了while和for
2、我的還是太麻煩了,而且代碼很長,定義的變量很多,缺點太多了
同學代碼:

我的代碼:

1、同學代碼很長,但是她的方法就是我之前想到的方法。
2、我是利用了題目給出的范圍,她是在for循環里面嵌套if-else

3.1學習進度條

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
9/28-10/05 約2小時 26行 輸入模式的學習,練習 熟練度不夠,對於輸入輸出過程基本是完全不理解
10/05-10/12 約6小時 86行 輸入和輸出學會了,不同的結構,語句,運算的學習等等 熟練度不夠,知識存儲量不夠,導致編程的時候經常需要查閱資料
10/12-10/18 約5小時 91行 可以自行編程,只有編程完成后出現錯誤才需要向同學求助。基本操作和思路學會,但是有些不夠熟練。學習了代碼的調試 不能熟練自主操作調試,編程不夠熟練
10/18-10/26 約12小時 127行 可以看着書寫出來函數定義基操 有時的變量定義拿不准,總是會多定義一些莫名其妙的變量,我想這是函數定義不夠熟練、對題目的理解不到位的原因吧
10/26-11/03 約15小時 131行 if-else的嵌套,邏輯運算符,字符型變量 字符型變量還不理解
11/03-11/8 約17小時 121行 switch語句 思維邏輯還有點混亂
11/8-11/22 約16小時 106行 嵌套循環和break,continue的使用 在做比較有難度的題時,獨立思考的結果不理想
11/22-11/29 約20小時 90行 之前的內容的深度學習 在思考的時候總會比別人想的復雜

3.2 累積代碼行和博客字數

3.3 學習內容總結和感悟

3.3.1 學習內容總結

思維導圖貼圖:

3.3.2學習體會

本周學習結束了。過不了多久期末考試就要到來了。在這段時間的學習中,嵌套循環的練習進行的還不錯,字符型變量也能夠理解了。但是在思考的時候總是比別人慢一步。總是說自己要多做題,多刷題,可是到了最后連作業也完成的夠嗆。總是要在后面完成。希望不要掛科吧......


免責聲明!

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



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