標籤:結合 1.2 需要 http 這一 作業 迴圈結構 理解 提交
一、PTA實驗作業6-3 使用函數判斷完全平方數1. 本題PTA提交列表
2. 設計思路
1.利用由題目給定的int IsSquare( int n )進行操作 2.首先判斷n是否大於0.
3.若n>0,則根據函數n*1.0/sqrt(n)是否等於sqrt(n)來判斷是否為完整數,符合則return 1,不符合則return 0. 4.若n=0,return 1.
5.若n<0,return 0. ###3.本題調試過程碰到問題及PTA提交列表情況說明 沒有考慮n=0也是完整數而答案錯誤.
6-7 使用函數輸出指定範圍內的完數1. 本題PTA提交列表
2. 設計思路
1.由題目給定的函數int factorsum( int number ),void PrintPN( int m, int n )進行下一步操作. 2.首先要對正整數m和n用 factorsum( int number )來判斷其是否為完數.
3.利用迴圈語句來判斷. 4.如果number是1,因為1是完數,所以return 1;
5.若number!=1,繼續進行下一步的判斷是否number%i=0. 6.符合繼續執行用變數s將這些因子加起來.
7.因為完數就是該數恰好等於除自身外的因子之和,所以迴圈結束後要減去自身的值 8.再進行s是否等於number的判斷,最後輸出number;
9.再利用函數void PrintPN來輸出完數及其因子的和. 10.同樣用的是i=m;i<=n;i++的迴圈語句,同樣判斷i是否為1.
11.符合則輸出"1 = 1",換行,並且用count來判斷統計完數的個數 12.若i!=0,就要用類似factorsum的迴圈語句來判斷,這裡用j=1;j<=i-1來對其判斷
13.同樣是否i%j=0; 14.符合用變數s將這些因子加起來,並且減去自身的值後是否等於i,等於則count加一,並且輸出i.
15.再求i的因子的相加式,用j=;j<=i-1的迴圈語句. 16.同樣判斷是否i%j=0,符合則輸出空格和j.
17.再用函數是否j<i/2來進行"+"和空格的輸出,若符合則輸出空格和"+". 18.輸出完數及其因子相加式後輸出換行.
` 19.最後對完數的個數進行判斷,如果count=0,則輸出"No perfect number"
3.本題調試過程碰到問題及PTA提交列表情況說明
7-1 求組合數1. 本題PTA提交列表
2. 設計思路
1.自訂函數double fact(int x) 2.定義整形變數m和n.
3.輸入m和n. 4.輸出"result = %.0f",fact(n)/(fact(m)fact(n-m)).
5.進入函數double fact中進行計算. 6.利用 i=1;i<=x迴圈語句和fact=fact1來求x的累乘.然後返回fact的值
3.本題調試過程碰到問題及PTA提交列表情況說明
二、同學代碼結對互評1.同學互評照片。2.My Code、互評同學代碼
` My Code
` 佳亮的代碼
3.我和同學代碼不同在哪裡?有哪些各自優勢?你更喜歡哪種代碼風格?如果同學代碼有錯的也請幫忙指出來哪裡出問題。
1.我和佳亮一樣都是先將一個不能用迴圈表示出來的值先進行判斷,不過我用的值比他多一個, 2.我覺得佳亮的第函數的代碼會比較好,它可以少一步迴圈,更加簡潔
三、本周題目集的PTA最後排名。
四、本周學習總結1.你學會了什嗎?1.1 C語言哪些資料類型?
整形 長整型
短整形 無符號整形
無符號長整形 無符號短整形
字元型 單精確度雙精確度浮點型
1.2 字元型資料需要注意地方?
字元數位轉換用ch-‘0‘ ###1.3 自增自減運算子? a--/a++是尾碼(自減)自增,變數值(減少)增加,運算式值不變
--a/++a是首碼(自減)自增,變數值(減少)增加,運算式值增加 ###1.4 運算子優先順序? 只有單目運算子和賦值運算子從左至右結合
1.5 C語言哪些運算式?課堂派哪裡做錯,做錯的請在這裡分析原因?
` 賦值運算式,邏輯運算式,條件運算式,關聯運算式
j++時尾碼自增不變. ###1.6 其他內容? 判斷字元的優先順序.
字元型字母和數位轉換. ##2.本周的內容,你還不會什嗎? 還不會熟練的判斷字元的優先順序
對於異或還不太會使用 ##3.迴圈結構考試總結 ###1.哪題做錯了,怎麼改? 最後兩題,通過dev的重新編譯來改.
2.考試結果滿意麼,怎麼改進?
不滿意,多打代碼,熟練的運用for迴圈語句. ###3.其他總結。 資料類型這一塊內容多而且雜,要經常去複習和做題鞏固
` 有些比較複雜的題目用while比用for會相對簡單得多,而且容易理解
c語言函數作業