這個作業屬於那個課程 | C語言程序設計II |
---|---|
這個作業屬於哪個課程 | 班級的鏈接 |
這個作業要求在哪里 | 作業的要求 |
我在這個課程的目標是 | 運用string.h,學習time.h,stdlib,enum枚舉,自定義函數。學習指針 |
這個作業在那個具體方面幫助我實現目標 | 方便掌握各種類型函數的定義、調用和申明,熟悉變量的作用域、生存周期和存儲類型,學會優化自己的代碼,借鑒他人的代碼,拓寬知識面 |
參考文獻 | c語言程序設計(第三版) |
學號 | 20208927 |
1.PTA實驗作業
1.1 統計某類完全平方數
題目內容描述:
1.1.1數據處理
數據表達:均為整型變量.n為n1和n2間的數,b為存儲求取余余數的變量,定義p[10]數組,定義m為對n取開二次方后的整數部分。
數據處理:(偽代碼如下)
p[0..10]={0} 數組存的是0-9數字的個數,先全部初始化為0
if(m*m==n) 因為m為對n取開二次方后的整數部分,若平方等於n,則可以滿足條件
while(n) 默認n大於0的情況
b←n%10
p[b]←p[b]+1
n/←10
for(int i=0;i<=9;i++) 判斷是否存在兩位數相同
如果N滿足條件,則該函數返回1,否則返回0
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
105 500 | cnt = 6 | 正確 |
1.1.4 PTA提交列表及說明
1.答案錯誤:數組內容忘初始化為0
1.2 統計各位數字之和是5的數
1.2.1 數據處理
數據表達:全為整型變量。第一部分:判斷數字之和是否為5
t為存儲求取余余數的變量,sum為數的和,i判斷是否滿足,number是區間里的數。
第二部分:s為滿足各位數字之和為5的數之和,c為統計的滿足條件的數的個數,i為返回的值。
數據處理:(偽代碼如下)
while(number!=0)
t←number%10
sum+←t
number←number/10
if(sum==5) 判斷
返回1為真,0為假
for(i=a;i<=b;i++)
if判斷返回的值是否為真
cc←1
s+←i
輸出結果
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
104 999 | ![]() |
正確 |
1.2.4 PTA提交列表及說明
一次性輸出正確
**1.3 解一元二次方程 **
題目內容描述:
1.3.1數據處理
數據表達:數據類型為高精度浮點型,輸入a,b,c為題目要求,x,y為方程的兩個解,z為共軛的實數部分
(共軛負數實數部分相等)
數據處理:(偽代碼如下)
(略)
1.3.2實驗代碼截圖
1.3.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
10 40 | ![]() |
正確 |
1.3.4 PTA提交列表及說明
1.編譯錯誤:括號錯誤
2.部分正確:有些情況沒有考慮到,做着做着忘了題目
看題,注意細節問題。有些問題我也不知道為什么要這樣,它就是題目說明了要這樣
2.代碼互評(5分)
找2份同學代碼,和自己代碼比較,建議互評代碼盡量找代碼風格差異較大。
同學代碼截圖
自己代碼截圖
對比:第二位同學的最麻煩,用了一個if-else的語句判斷,第一位同學的比我的簡單,不需要判斷
反正是倒着輸出,先輸出前面的,最后輸出特殊的a[0]
3.學習總結(15分)
3.1 學習進度條(5分)
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
12.14-12.18 | 23小時 | 300 | stdlib.h標准庫,enum枚舉 | 啥也不會用 |
12.9-12.11 | 23小時 | 400 | 指針 | 指針的使用,只有概念,不能夠去運用 |
11.30-12.4 | 24小時 | 400 | 排序,指針 | string.h |
11.23-11.26 | 22小時 | 600 | string.h | gets,puts |
11.15-11.21 | 22小時 | 500 | string.h,接觸基礎c++ | vs和Dev的快捷鍵不會使用,string |
11.10-11.14 | 26小時 | 300 | 自定義函數,二維數組,宏定義,const | 不會用復雜的宏定義和const |
11.2-11.8 | 26小時 | 600 | 循環嵌套,一維數組,二維數組 | 如何把問題簡單化,靈活調用循環和函數 |
10.26-11.1 | 24小時 | 500 | 循環嵌套,選擇排序,冒泡排序 | 排序很蒙,逆時針坍縮不懂 |
10.19-10.25 | 24小時 | 200 | switch-case,循環 | 無 |
3.2 累積代碼行和博客字數(5分)
時間 | 博客字數 | 代碼行數 |
---|---|---|
第八周 | 1052 | 200 |
第九周 | 1677 | 500 |
第十周 | 3252 | 600 |
第十一周 | 5186 | 300 |
第十二周 | 6824 | 500 |
第十三周 | 8347 | 600 |
第十四周 | 9995 | 400 |
第十五周 | 11595 | 400 |
第十六周 | 13203 | 300 |
3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結
3.3.2 學習體會
我真的真的覺得博客園的作業可以簡單一點點,我覺得應該知識點從概念的接觸到小問題的解決需要大量的練習,不應該從概念直接到比較復雜的運用,PTA太難了會讓同學產生一種C語言太難的心理障礙。而且我也覺得C語言的水真的非常深,一開始只是接觸到stdio.h這個庫,到后來慢慢的stdlib.h,time.h,還有許許多多的庫,還沒有接觸過,而且有些代碼真的聽得懂也看得懂,可就是上手就廢,全是報錯。我覺得單純學習別人的代碼是遠遠不夠的,在你學習完之后,你能夠在短時間內解決同樣的問題或者類似的問題,才是真正的掌握。