這個作業屬於那個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9768 |
我在這個課程的目標是 | 熟練掌握for循環語句,進一步掌握使用C語言 |
這個作業在那個具體方面幫助我實現目標 | 在PTA上做練習刷題可以讓我更加熟練使用C語言 |
參考文獻 | 百度、《C Primer Plus》第六版 |
1.PTA實驗作業
1.1求平方與倒數序列的部分和
1.1.1數據處理
數據表達:提出整形變量m、n、i,雙精度浮點型變量sum用來計算儲存結果。
數據處理:使用了for循環語句,流程結構是先定義,然后判斷i與n的關系,然后就進行循環。當不滿足循環條件時,就直接跳出循環,輸出結果
1.1.2實驗代碼截圖
1.1.3造測試數
輸入數據 | 輸出數據 | 說明 |
---|---|---|
5 10 | 355.845635 | 例題上的數據 |
1 1000 | 333833507.485471 | 使用較小數據和較大數據計算 |
4 6 | 77.616667 | 使用兩個較小數據計算 |
500 600 | 30638350.184155 | 使用兩個較大數據計算 |
1.1.4PTA提交列表及說明
1.運行超時:第一次碰到這種情況,問了學長學姐,說可能是遇到死循環了,然后把循環那一部分重新弄了一遍。
2.運行超時:重新弄了一遍,還是顯示運行超時,但我忘記是哪個部分出問題了.
3.答案正確:把錯誤修改后,就正確了。(老師我真的忘記那個錯誤地方是哪里了,我下次會做好筆記的)
1.2求交錯序列前N項和
1.2.1數據處理
數據表達:使用整形變量n、i、flag、denorminator,作為輸入數據,使用了雙精度浮點變量sum、item、c用來儲存數據。
數據處理:還是需要使用for循環語句。先要判斷i與n的關系,然后算d,然后正負號來回累積相加。
1.2.2實驗代碼截圖
1.2.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
5 | 0.917 | 例題上的數據 |
10 | 0.380 | 使用較小的數據 |
1000 | 0.393 | 使用較大的數據 |
1.2.4PTA提交列表及說明
1.編譯錯誤:忘記打“return 0;”了
2.編譯錯誤:有一行忘記打分號了
3.答案錯誤:忘記打flag=-flag
4-5.編譯錯誤:在for后面加了等號,改了兩次才發現問題
6-9答案錯誤:一直顯示答案錯誤,一直改,但總是錯,問了同學才知道,我中間的變量什么的都少了,還要再加一些新的變量來完成,我加了幾個語句,增加denorminator,c的變量,當時在編程時沒有想到這方面,因為我照着書上的例題打的,沒有靈活變通,就導致了這樣的結果,加了這樣denorminator,c兩個變量,代碼就對了,而且也更加清楚。
10答案錯誤:denorminator=denorminator+2寫成+1了,所以顯示答案錯誤
11答案正確:改完后,答案就正確了
2.代碼互評
2.1同學代碼截圖(計科1班李澤基同學)
2.2自己代碼截圖
2.3比較結果
1.我們采用的方法不太一樣,他運用了數學的函數,我是采用的書上的方法
2.從代碼行數上來看,很明顯,他的比我更簡潔,也更簡單,所以這方面我還需要學習
2.4同學代碼截圖(計科1班周世康同學)
2.5自己代碼截圖
2.6比較結果
1.我們所用的方法不一樣,它定義的變量更多,出現了sum1,sum2等,而我的變量沒有那么多。
2.從代碼行數看的出,我的更簡單,代碼行數也短一些,但是我覺得他也很優秀,他用了和書上不太一樣的方法,這方面我要學習
3.學習總結
3.1學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第一周(9.19-3.27) | 6天 | 26行 | Hello world編程和Markdown語法 | 現在沒有疑惑 |
第二周(9.25-10.4) | 4天 | 45行 | 華氏度與攝氏度的轉換 | 對於變量的類型還不是很懂 |
第三周(10.8-10.11) | 3天 | 大約100行左右 | 計算分段函數和學習if-else語句 | 對於if-else語句還是不那么熟練 |
第四周(10.15-10.17) | 3天 | 大約75行左右 | for循環語句和指定次數的循環程序設計 | 關於指定次數的循環程序設計還不是很清楚 |
3.2累積代碼行和博客字數
3.3學習內容總結和感悟
3.3.1學習內容總結
for語句被稱為循環語句。for后面的圓括號中有3個表達式,分別用兩個分號隔開。第一個表達式是初始化,只會在for循環開始時執行一次。第二個表達式是測試條件,在執行循環之前對表達式求值。如果表達式為假,循環結束。第三個表達式執行更新,在每次循環結束時求值。它的形式是for(initialize;test;update)換行 statement (在test為假或0之前之前,重復執行statement部分)
3.3.2學習體會
這次學習了for循環語句,在做作業時簡單的題目做的比較快,稍微難點的就做的比較慢,可能是才剛學習,還不是那么熟練,我相信我加強練習,會慢慢熟練的。學習這門課程也一個多月了,還是有蠻多收獲的。老師在課堂上講的東西非常有限,深度的東西要靠我們自己去挖掘和學習,遇到問題能通過自己的努力去解決是最好的,這樣印象也會更深刻。如果有時間,自己可以往前面走,提前預習,這樣對於學習肯定是有好處的。相信自己能做的更好,加油!