二、本周作業頭
這個作業屬於那個課程 | 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
形如2n−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.復習知識點是非常重要的,所以接下來我打算回顧一下以前學習過的知識點。