1、PTA實驗做業數組
題目1:通信錄排序學習
(輸入n個朋友的信息,包括姓名、生日、電話號碼,本題要求編寫程序,按照年齡從大到小的順序依次輸出通信錄。題目保證全部人的生日均不相同。)spa
1. 本題PTA提交列表設計
2. 設計思路:先定義10個朋友的結構體數組,數組內包括姓名,生日和號碼,將結構體名稱定爲friends,3d
再定義結構體變量temp,做爲交換位置時的臨時變量。用一個for循環輸入幾個朋友的信息,調試
定義一個index做爲下角標標識,再用兩個for循環來對結構體數組進行從新排序,blog
外循環將i賦值給index,內循環比較friends【j】.birthday和friends【index】.birthday,排序
再對friends【j】和friends【index】進行大小位置調換,循環結束,最後用一個for循環從新輸出排序後的數組。for循環
(包括流程圖)
3.本題調試過程碰到問題及PTA提交列表狀況說明
class
本題提交一次性經過
2、同窗代碼結對互評
1.同窗互評照片
個人代碼(左),嘉慧的代碼(右)
2.我和同窗代碼不一樣在嘉慧的代碼更加精簡,但有些量的名稱與題目不太相符,不容易一眼看出,
個人代碼 將各個量都用相應的英文表示,容易理清思路,但我仍是更喜歡嘉慧的代碼,很是簡潔明瞭。
題目2:通信錄的錄入與顯示
(通信錄中的一條記錄包含下述基本信息:朋友的姓名、出生日期、性別、固定電話號碼、移動電話號碼。 本題要求編寫程序,錄入N條記錄,而且根據要求顯示任意某條記錄。)
1. 本題PTA提交列表
2. 設計思路:先定義一個結構體數組存放每一個人的基本信息,將結構體名稱定爲argv,輸入一個數N,再用while 循環輸入N我的的信息,定義一個K表示要查詢的個數,定義一個數組num用於存放輸入要查詢的編號,用一個for循環輸入查詢的編號,再用一個for循環查找編號信息,用if語句判斷輸入的編num 是否在人數0到N之間,若是是則輸出下標爲num【i】的結構體數組,不是則輸出Not Found。
(包括流程圖)
3.本題調試過程碰到問題及PTA提交列表狀況說明
本題提交一次性經過
2、同窗代碼結對互評
1.同窗互評照片。
個人代碼(左),嘉慧的代碼(右)
2.我習慣用完整的英文單詞定義的一些量的名稱,程序看起來會有些複雜,而嘉慧喜歡用簡單的字母來表示,他的程序看上去會簡潔許多,但我以爲個人方式更好,由於具體單詞容易看懂每個量表明的意義。
題目3:一幫一
(「一幫一學習小組」是中小學中常見的學習組織方式,老師把學習成績靠前的學生跟學習成績靠後的學生排在一組。本題就請你編寫程序幫助老師自動完成這個分配工做,即在獲得全班學生的排名後,在當前還沒有分組的學生中,將名次最靠前的學生與名次最靠後的異性學生分爲一組。)
1. 本題PTA提交列表
2. 設計思路:先定義a,b兩個字符數組,分別用於存放性別和名字,輸入全班人數N,用for()循環輸入排名,
再用兩個for()循環進行分配安排,外循環表示從0開始的學生,內循環表示從最後一位同窗開始,
用if語句對兩位同窗的性別做比較,若是不相同,則先將2分別賦值給表明兩位同窗性別的數組
(以便在下一次循環對比中將匹配過得同窗跳過,以避免出現錯誤),在內循環中直接輸出兩位同窗,
下標與性別下標相同的名字數組,跳出循環,如此循環便可達到匹配一幫一的母的。
(包括流程圖)
3.本題調試過程碰到問題及PTA提交列表狀況說明
本次提交一次經過
2、同窗代碼結對互評
1.同窗互評照片。
個人代碼(左),嘉慧的代碼(右)
2.我和同窗代碼不一樣在:個人代碼將學生的姓名和性別用兩個數組分開定義,操做過程比較簡單,代碼難度係數低,但不夠嚴謹;嘉慧的代碼是用一個結構數組對學生的性別和姓名,進行打包存放,難度係數較高,程序更加的嚴謹,我以爲嘉慧的程序個具備優點,我更喜歡嘉慧的代碼。
3、截圖本週題目集的PTA最後排名
4、本週學習總結
1.我學會了定義結構體數組,用結構體來打包成員信息,並應用結構體處理數據。
2.本週的內容,你還不會鏈表的操做。