1.這個作業屬於那個課堂 | C語言程序設計 |
2.這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10028 |
3.我在這個課堂的目標是 | 學好C語言,能很好的運用它 |
4.這個作業在那個具體方面幫助我實現目標 | 從實際運用出發,使我從實踐中更加熟練地掌握它 |
5.參考文獻 | 《C語言程序設計(第三版)》 百度 |
一.本周作業
1.PTA實驗作業
1.1 換硬幣
題目內容:
將一筆零錢換成5分、2分和1分的硬幣,要求每種硬幣至少有一枚,有幾種不同的換法?
輸入格式:輸入在一行中給出待換的零錢數額x∈(8,100)。
輸出格式:要求按5分、2分和1分硬幣的數量依次從大到小的順序,輸出各種換法。每行輸出一種換法,格式為:“fen5:5分硬幣數量, fen2:2分硬幣數量, fen1:1分硬幣數量, total:硬幣總數量”。最后一行輸出“count = 換法個數”。
1.1.1數據處理
介紹實現本題過程中,你的數據表達 數據處理是怎么做的.
數據表達:用了int x,b,c,d,i,m,yue,geshu=0;x代表輸入金額,b和c可以說是一個載體,它們兩個字母只不過是為了實現目的而設的中間量,i,m,yue,表示三種硬幣的數額,geshu代表多少種情況.
數據處理:偽代碼
1.1.2實驗代碼截圖
1.1.3造測試數據
1.1.4PTA提交列表及說明
根據PTA提交列表,簡要描述調試程序碰到的問題及解決辦法.
提交列表說明:
1.答案錯誤:沒有把"x"初始值化
解決辦法:看錯誤提示,warning: ‘x’ is used uninitialized in this function [-Wuninitialized] x=x-8;
1.2 找完數
題目內容:
所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程序,找出任意兩正整數m和n之間的所有完數。
輸入格式:輸入在一行中給出2個正整數m和n(1<m≤n≤10000),中間以空格分隔。
輸出格式:逐行輸出給定范圍內每個完數的因子累加形式的分解式,每個完數占一行,格式為“完數 = 因子1 + 因子2 + ... + 因子k”,其中完數和因子均按遞增順序給出。若區間內沒有完數,則輸出“None”。
1.2.1數據處理
介紹實現本題過程中,你的數據表達 數據處理是怎么做的.
數據表達:用了int n,m,i,j,sum,num=0;n和m代表輸入的兩個不同的數,i和j,還有sum參與循環語句,num代表完數的因子
數據處理:偽代碼
1.2.2實驗代碼截圖
1.2.3造測試數據
1.2.4PTA提交列表及說明
根據PTA提交列表,簡要描述調試程序碰到的問題及解決辦法.
提交列表說明:
部分正確:沒有加sum=1進去
解決辦法:看錯誤提示,警告:' sum '可能在未初始化的情況下使用[- wmay -uninitialized]如果(金額= =i){
2.代碼互評
找2份同學代碼,和自己代碼比較,建議互評代碼盡量找代碼風格差異較大.
(1)
風格差異:
a.我們定義的char不一樣,她的用了a,我用了c。
b.她分了兩種情況,偶數和奇數,她先if語句,后面接for語句,而我沒有分情況,因為在 for(int i=1;i<=(n+1)/2;i++)中包括了奇數和偶數兩種情況,所以我覺得我這種代碼要簡潔很多
c.當然她的代碼更容易讓人看得懂一些,她這種方式在編程的時候更不容易出錯一點
(2)
風格差異:
a.我們用的變量單詞不一樣,我的x,i,m,yue對應她的c,x,y,z,而且我比她多了兩個變量,
b.要求每種硬幣至少有一枚,我的表示是先減掉每種硬幣至少有一枚總共的錢數,然后再在各種硬幣數上加1,而她用for(int x=(c-2-1)/5;x>=1;x--)和for(int y=(c-1-5*x)/2;y>=1;y--),還有 int z=c-5*x-2*y;表達了題目中的要求,她這種方式很好,這樣我們在編程中就不會因為忘記加1而出錯了.
3.學習總結
3.1學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
9/18-9/22 | 48小時 | 8 | C語言中簡單的輸出函數 | C語言到底是什么,它有什么用 |
10/2-10/4 | 48小時 | 16 | 攝氏溫度與華氏溫度的轉變 | 我們做的作業除了讓我們熟練運用以外還有什么用呢 |
10/8-10/12 | 50小時 | 39 | 用計算機計算分段函數、if-else語句 | 直到型循環結構等怎么編程 |
10/15-10/18 | 26小時 | 220 | 掌握使用for循環語句實現指定次數的循環程序設計 | 我什么時候才能完全弄懂我的編程 |
10/22-10/25 | 48小時 | 360 | 怎樣編程函數的階乘 | 我該怎樣才能真正的學好老師所教的知識 |
10/29-11/2 | 24小時 | 400 | 二分支結構和if-else語句 | 對基礎知識掌握不到位 |
11/8-11/9 | 12小時 | 410 | switch語句和多分支結構 | 對switch括號里的表達式在不同的題目中該填些什么,對這個語句還不怎么了解 |
11/13-11/15 | 11小時 | 415 | while語句 | 怎么熟練的運用所學的多種語句解決問題 |
11/19-11/22 | 10小時 | 420 | break語句與continue語句,還有嵌套循環 | 嵌套循環不怎么會靈活使用 |
3.2累積代碼行和博客字數
3.3學習內容總結和感悟
3.3.1學習內容總結
整理本周學習的主要知識點,並能對每個知識點介紹簡單案例或語法.
3.3.2學習體會
請回顧自己的本周的學習過程,描述學習感受,也可以提出你不理解的地方 對教師教學建議等。如果你有新的想法或者新的方法,請及時記錄下來.
1.老師上課講到考試會讓我們用手寫代碼還有畫程序框圖,我才發現學習了這么久我竟然沒有用手寫過代碼,也沒有畫過程序框圖,並且打代碼都是看着書打的,拼音也不好,我就是那種用一個手指頭打代碼(非專業人士)。
2.學習了這么久,我發現我們跟老師的交流時間很少很少,老師上課講的內容真的是太少了,大多數時候都是要靠自己的,所以我們上課要認真聽講,課余時間多多看書與同學討論,加強自己的知識儲備能力.