C語言|博客作業11


問題 回答
這個作業屬於哪個課程 C語言程序設計ll
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127
我在這個課程的目標是 熟練掌握運用各語法,獨自寫出代碼解決許多計算題,編寫出一個小程序
這個作業在哪個具體方面幫助我實現目標 選擇題幫助更好的理解了概念,函數題幫助我更好的掌握語法
參考文獻 《C語言程序設計》 百度 CSDN

1. PTA實驗作業

1.1 題目6-1 統計某類完全平方數

題目內容描述:本題要求實現一個函數,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。

1.1.1 數據處理

  • 數據表達:定義了整型變量n,m,定義了數組a[10]
  • 數據處理:使用了嵌套循環

int IsTheNumber ( const int N )
{
定義n,m;
n = N的根方並取整;
m = n*n;
if(m == N)
{
定義大小為10的數組a,同時a內所有元素均初始化為0;
while(m>0)
{
定義i,i = m % 10;
a[i]++計算有多少個這樣的整數;
if(a[i]==2)
{
滿足條件,返回1;
}
m = m/10;
循環計算
}
}
return 0;
}

1.1.2 實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
105 500 cnt = 6 105至500間有6個完全平方數
100 200 cnt = 3 100至200間有3個完全平方數
1 1000 cnt = 9 1至1000間有9個完全平方數

1.1.4 PTA提交列表及說明

提交列表說明:

  1. 編譯錯誤:用的不是數組,然后寫的整個代碼好像都有問題
  2. 編譯錯誤:a[10]={0}寫成了a[10]=0
  3. 編譯錯誤:a[i]++寫成了i++
  4. 編譯錯誤:n=(int)sqrt(N1.0)寫成了n=sqrt(N1.0)
  5. 編譯錯誤:m == N寫成了m = N
  6. 編譯錯誤:int IsTheNumber ( const int N )后面加了個分號

1.2 題目6-2 統計各位數字之和是5的數

題目內容描述:本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於5;另一個函數統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和。

1.2.1 數據處理

  • 數據表達:定義了整型變量n,sum,i
  • 數據處理:使用了while語句,if-else語句,for語句

{
定義n;
定義sum,賦初始值為0;
n = number;
while(n)
{
sum = sum+n%10;取余求和
n = n/10;去除個位數
}
if(sum == 5)如果各位數字之和等於5
{
返回1;
}
else
{
返回0;
}
}
void count_sum(int a, int b)
{
定義count,賦初始值為0;
定義sum,賦初始值為0;
for (int i = a; i <= b; i++)
{
if(is(i))調用函數
{
count++;
sum = sum+i;計算所有符合條件的值之和
}
}
輸出sum,count;
}

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
104 999 104至999間有15個滿足要求的數
1 10000 1至10000間滿足要求的數之和為77770
100 9990 100至9990間有50個滿足要求的數

1.2.4 PTA提交列表及說明

提交列表說明:

  1. 運行超時:我不知道錯在哪,然后改了好幾個地方
  2. 編譯錯誤:for語句的條件中有一個分號寫成了逗號
  3. 編譯錯誤:沒有定義i,直接寫了i=a
  4. 編譯錯誤:沒有給sum賦初始值
  5. 編譯錯誤:沒有寫表達式n=number

2. 代碼互評

同學1代碼截圖

同學2代碼截圖

自己代碼截圖

代碼對比

  1. 同學1使用了do-while語句,同學2的嵌套循環中使用了兩個while語句
  2. 同學1使用了if(a>b)進行判斷,我沒有她進行她的這一步
  3. 同學2使用了兩次if-else語句,還有兩個不同意義的return 0;
  4. 我的代碼和同學1的代碼還是有很大一部分相似的,同學2的代碼最簡短,感覺很獨特,我不是很明白她的代碼,是一種值得學習的方法

3. 學習總結

3.1 學習進度條

周/日期 這周所花時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
7/10.9-7/10.11 21小時 120 else-if從句,關系運算 PTA顯示的答案錯誤究竟是什么
8/10.16-8/10.18 15小時 84 用for語句計算簡單的序列和 雙精度浮點型變量的定義
9/10.23-9/10.26 16小時 102 學到while語句的一點點知識,對自定義函數了解了一點 while語句的具體用法
10/10.30-10/11.2 14小時 145 多分支結構,邏輯運算符 當分支較多時不太會使用if,else,for
11/11.6-11/11.8 14小時 143 利於switch語句處理多分支選擇問題 偽代碼的具體定義
12/11.13-12/11.15 15小時 75 使用while語句進行循環計算 do-while語句和while的區別還不是特別理解
13/11.20-13/11.22 13小時 91 使用continue語句進行循環,使用嵌套循環進行計算 還是有點分不清break語句和continue語句的區別
14/11.27-14/11.29 13小時 125 對循環結構進行了鞏固復習和總結 當遇到比較復雜的嵌套循環時會出現混亂
15/12.4-15/12.6 15小時 101 函數的聲明,調用,參數的傳遞 函數的調用,數組的定義

3.2 累積代碼行和博客字數

時間 博客字數 代碼行數
第四周 596 32
第五周 1288 54
第七周 2240 174
第八周 3254 364
第九周 6124 512
第十周 8085 796
第十一周 9625 1030
第十二周 11172 1185
第十三周 14142 1356
第十四周 15742 1567
第十五周 17427 1748

3.3 學習內容總結和感悟

3.3.1 學習內容總結

3.3.2 學習體會

  1. 看到這周的題目第一感覺就是難,同學也基本說不知道怎么做,然后就上網搜資料,一直錯,一直錯,特別絕望
  2. 做了思維導圖,這周的知識點在腦海中有了個大致的框架,但還是很懵,感覺函數好難
  3. 挺擔心c語言的考試的,學了一學期了,我感覺沒什么大的進步,每次作業做的時候都是非常迷的


免責聲明!

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



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