這個作業屬於哪個課程 | 計科2班 |
---|---|
這個作業要求在哪里 | 作業要求 |
這個作業的目標 | <掌握各種類型函數的定義、調用和申明,熟悉變量的作用域、生存周期和存儲類型> |
學號 | <20208982> |
1.PTA實驗作業(20分/題)
請再此處列出自己的排名圖片,
1.1 統計各位數字之和是5的數
本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於5;另一個函數統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和。
1.1.1數據處理
數據表達:用了a,s,count,sum這些變量,通過定義賦值而來,這些變量都屬於整數型
數據處理:用了for循環和if-else語句
while(number>0)
a=number%10;
number=number/10;
s=s+a;
if(s==5)
for(int i=a;i<=b;i++)
if(is(i))
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
104 999 | ![]() |
在104到999之間有15個滿足條件,它們的和為3720 |
666 888 | count = 0, sum = 0 | 在666到888之間沒有滿足條件的數 |
113 520 | ![]() |
在113到520之間有14個滿足條件,它們的和為3616 |
500 808 | ![]() |
在500到808之間有1個滿足條件,它是500 |
1.1.4 PTA提交列表及說明
q1:題目中說判定給出的數各位數之和是否為5,我看成了是十五的倍數
a1:多次閱讀題目,參考同學的代碼,發現錯誤
q2:它的輸出格式為count=?,sum=?;我直接輸出答案,未標明單詞
a1:看題目給出的輸出示例
1.2 解一元二次方程
7-1 解一元二次方程 (10分)
ax^2+bx+c=0 。
要求:
若 a=0,則為一元一次方程。
若 b≠0,則方程有唯一解,輸出這個解;
若 b=0,c≠0,則方程無解,輸出“無解”;
若 b=0,c=0,則方程有無窮多解,輸出“無窮多解”。
若 a≠0,則為一元二次方程。
若 Δ>0,則方程有兩個不等的實根,輸出這兩個根;
若 Δ=0,則方程有兩個相等的實根,輸出這兩個根;
若 Δ<0,則方程有兩個共軛的虛根,輸出這兩個根。
1.2.1 數據處理
數據表達:用了a,b,c,x,x1,x2,z,i,y這些變量,這些變量通過定義賦值而來,這些變量都屬於浮點型
數據處理:用了if-else語句
if(a==0)
if(b==0&&c==0)
if(b==0&&c!=0)
if(b!=0)
x=-c/b
if(a!=0)
z=b*b-4*a*c
if(z>0)
x1=sqrt(z)/(2*a);
x2=-sqrt(z)/(2*a);
if(z==0){
x1=x2=-b/(2*a);
if(x1=x2==-0)
x1=x2=0;
if(y==-0)
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
0 4.5 -3.6 | x = 0.8 | 有唯一解的一元一次方程 |
0 0 3.6 | 無解 | a=b=0無解 |
3 0 0.27 | x1 = 0+0.3i, x2 = 0-0.3i | 判別式小於0有兩共軛虛根 |
3 -2.3 0.3 | x1 = 5.4, x2 = 1.5 | 有兩不相等的實數根 |
1.2.4 PTA提交列表及說明
q1:編譯錯誤主要是修改的時候不小心刪多了
a1:將不小心刪除的補回來
q2:沒有注意示例下面給出的提示:
a2:再次審題
q3:一元一次方程的解的表達式和一元二次不同,一開始沒有注意
a3:參考同學的然后自己推了一下
2.代碼互評(5分)
同學代碼一:
同學代碼二:
自己的代碼:
差別:1:第一位同學他將判別式大於等於0的情況放到了一起寫,這樣子相對簡便但也容易出錯
2:第一位同學的判別式中調用了pow,第二位同學調用了fabs來避免負數情況
3:第二位同學的注釋特別多,很詳細
3.學習總結(15分)
3.1 學習進度條
周/日期 | 所花時間 | 代碼行 | 所學知識點 | 目前疑惑點 |
---|---|---|---|---|
第一周 | 20h | 200 | 基本格式 | 無 |
第二周 | 21h | 800 | 定義賦值 | 無 |
第三周 | 21h | 860 | For循環 | 無 |
第四周 | 20h | 750 | 自定義賦值 | 無 |
第五周 | 22h | 840 | if-else | 邏輯循環 |
第六周 | 25h | 900 | Switch | 無 |
第七周 | 23h | 930 | While和do while | 無 |
第八周 | 21h | 840 | 循環嵌套 | 不熟練 |
第九周 | 23h | 900 | 各種類型函數的定義調用申明,熟悉其作用域和生存周期 | 不熟練 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
3.3.2 學習體會
1:感覺難度越來越大了,有點力不從心的感覺
2:對新學的這個知識點有點懵懵懂懂
3:遇到不懂的要自己思考,實在不能理解再去查找資料或詢問同學
4:審題一定要細心
5:空余時間多敲敲代碼,多做練習