C語言I博客作業10


二、本周作業頭

這個作業屬於那個課程 C語言程序設計II
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10098
我在這個課程的目標是 熟練循環語句,進行編程
這個作業在那個具體方面幫助我實現目標 通過復習循環結構,慢慢分析題目要求
參考文獻 《c語言程序設計》《C Primer Plus》

1.PTA實驗作業(20分/題)
請再此處列出自己的排名圖片,如

1.1 題目名1

題目內容描述:

本題要求編寫程序,輸出n行由大寫字母A開始構成的三角形字符陣列。
**輸入格式**:
輸入在一行中給出一個正整數n(1≤n<7)。
**輸出格式**:
輸出n行由大寫字母A開始構成的三角形字符陣列。格式見輸出樣例,其中每個字母后面都有一個空格。

1.1.1數據處理

數據表達:用了i,j作為循環變量,c作為字符,n表示輸入的有幾行。運用的是for語句以及嵌套循環結構進行循環
數據處理:用了int i,j,n,c;//i,j作為循環變量,c作為字符,n表示輸入的有幾行。
{
for(i=n;i>0;i--)//表示行數減少
嵌套for(j=0;j<i;j++)//表示行數上的字符增加
在進行循環{
         putchar(c++);
         printf(" ");
}
最后輸出並且換行printf("\n");
       return 0;
}

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
5 樣式說明
4 樣式說明
6 樣式說明

1.1.4 PTA提交列表及說明

因為我有在dv上面運行過,但是也沒有注意空行,以及沒有注意字符的增加,導致出現錯誤,最后百度了一下,才知道錯誤,改了過來。然后一次通過

1.2 題目2

形如2​n−1的素數稱為梅森數(Mersenne Number)。例如2^2−1=3、2^​3−1=7都是梅森數。1722年,雙目失明的瑞士數學大師歐拉證明了2^31−1=2147483647是一個素數,堪稱當時世界上“已知最大素數”的一個記錄。
本題要求編寫程序,對任一正整數n(n<20),輸出所有不超過2^​n−1的梅森數。

1.2.1 數據處理

數據表達:輸入int n,sum,i,j,count=0;作為整型變量,sum用來存放2^n-1的值;i,j是作為循環變量,count表示梅森數的個數,n表示輸入的值。
數據處理:定義變量n為輸入的正整數,j,i用於控制循環,sum來放2^n-1的值,count用於記梅森數的個數
輸入n
{
for(i=2;i<=n;i++)//輸入的值增大
{
    sum=(2^i)-1//存放的值
   for(j=2;j<=sum/2;j++)//判斷是否為素數
    if( sum%j==0)  break;//判斷是否滿足條件
  or if(sum%j!=0){
    printf("%d\n",sum);count++;
    }
if(count==0) then 輸出None
end
}

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
6 樣式說明
8 樣式說明
10 樣式說明

1.2.4 PTA提交說明

部分正確:沒有注意輸出,我是直接printf("\n"),所以導致部分錯誤。
解決辦法:在輸出上面添加%d,正確語句為printf("%d\n",n)

2.代碼互評

同學代碼截圖 自己代碼截圖
這個同學只用了一個for,而我的是運用了for語句的嵌套循環結構,她的代碼還用了c用來存儲值,代表字符。而我用的是putchar(c++);來進行字符的增加,i--;表示行數字符減少
同學代碼截圖 自己代碼截圖

這個同學運用的是while循環中進行for語句循環,char代表字符的存儲空間,而我用的是for語句的嵌套循環,同時我運用了char,都在for語句在輸出printf(" ")來空格。

3.學習總結

3.1 學習進度條

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
等一周9.19-9.27 7天 28行 學會了如何開始進行編輯和簡單的程序 為什么在編輯時要這么嚴厲,錯一個符號都會是編譯錯誤
第二周9.25-910.4 5天 20行 學會了如何用已學知識舉一反三 為什么有時候用一個字母代表不行,有時候又可以
第三周10.8-10.12 4天 136行 難度加大的編程 不知道如何簡寫編程
第四周10.15-10.18 3天 120 指定次數的循環程序設計 不知道如何將分子和分母都是變量的情況下編寫程序
第五周10.23-10.26 4天 89 學習函數的運用和表達 不知道運用那種流程正確表達函數運用較為正確
第六周10.28-11.2 3天 130 學習分支結構多次if-else循環 不知道在哪里打上中括號同時滿足條件
第七周11.5-11.8 2天 140 學習switch語句的運用 不知道如何表達switch語句的表達式,還不是很熟練
第八周11.12-11.15 2天 130 學習while和do-while的運用 條件在while語句中不知道如何表達才是正確的
第九周11.19-11.22 2天 120 學習了嵌套循環的運用
第十周11.26-11.28 2天 135 復習了循環語句以及如何讀題目 嵌套循環還不是很會用

3.2 累積代碼行和博客字數

3.3 學習內容總結和感悟

3.3.1 學習內容總結

3.3.2 學習體會

1.這周作業自我感覺很難,讀題目需要讀很久,才能夠有點理解,所以在PTA花費了很多時間,還算可以吧
2.這周主要是復習了一下循環的運用對於循環結構又加深了一些印象,所以學習過的東西還是要多多復習才行。
3.復習知識點是非常重要的,所以接下來我打算回顧一下以前學習過的知識點。


免責聲明!

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



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