C語言I博客作業08


這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/CST2020-2
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11611
這個作業的目標 學習及掌握循環及嵌套,了解break和continue用法,怎么跳出循環
學號 20208966

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

1.1 題目1

輸入整數m,將所有大於1小於整數m的素數存入所指定的數組中(數組最多只存放100個素數,超過則提示“OVERFLOW”),輸出各素數——若輸入的m≤2,則提示“NO”,程序終止。注:素數(Prime Number),亦稱質數,指在一個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。

1.1.1 數據處理

數據表達:定義數組a[100]和整數m,count,t表示每行個數
數據處理:輸入m,用循環將1到m的所有整數放入a[100],自定義一個Prime函數判斷素數,在main函數里調用Prime函數
for (int i = 1; i <= m; i++) {
        if (Prime(i) == 1) {
            a[count] = i;
                    count++;

1.1.2 實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
2 No m<=2
1000 OVERFLOW 數組最多只存放100個素數

1.1.4 PTA提交列表及說明


說明:

格式錯誤:最后換行錯誤,每十五個換行,用t%15==0來判斷是否換行
部分正確:最后每行不足十五時結束,要在最后一個循環外面用換行符結束

1.2 題目2

本題要求對任意給定的一位正整數N,輸出從11到NN的部分口訣表。

1.2.1 數據處理

數據表達:定義整數x,y,n,s分別表示行數,列數,輸入的整數,每次的運算結果
數據處理:用for循環嵌套,外層表示行,內層表示列
for(x=1;x<=n;x++)
    {
        for(y=1;y<=x;y++)
        {
            s=x*y;

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
1 1*1=1 一行一列
9 11=1 ····· 99=81 九行且每行遞增一列到九列

1.2.4 PTA提交列表及說明

說明:

格式錯誤:最后輸出應該為"%-4d",否則輸出結果與預期不符

2.代碼互評(5分)

同學代碼:

我的代碼:


對比:

同學的代碼很特別的一步是num = (n * (n + 1)) / 2,再用一個if的判斷再采用兩個for循環的嵌套,是將答案存儲在數組中;而我用了一個循環嵌套直接行與列計算輸出結果

3.學習總結(15分)

3.1 學習進度條(5分)

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


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

3.3.1 學習內容總結

3.3.2 學習體會

1.最近一直是在復習,沒有太多的去接觸新的知識,對我而言,任何東西,基礎最重要,現在回過頭來看看之前的知識,比第一次接觸時要清晰很多,也嘗試用后面所學的去解決,對於c語言,當然也還沒有接觸到最深的那塊地方,自知還有很多不足的地方,接下來的時間里我會去一一彌補改正。
2.對於如何跳出多重循環:第一可以在循環內部設定一個停止條件;第二增加break;第三使用goto語句(無條件轉移語句)goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成循環,跳出循環體等功能。但是,在結構化程序設計中一般不推薦使用goto語句, 以免造成程序流程的混亂,使理解和調試程序都產生困難。


免責聲明!

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



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