五、PTA結構體實驗報告
五、PTA實驗作業(結構體)
題目一:
1.本題PTA提交列表:
2.設計思路(包括流程圖),主要描述題目算法
//設計思路,由題目可知
1.該題采用結構體,結構體內要定義一個數據域和一個指針域
2.定義兩個變量max,和min用來標識最大最小值
3.在主函數中用動態內存來為數據分派配內存並且判斷是否分配內存成功;
4.用for()循環來輸入n個數據;先使最大最小值都為零,再通過for()循環用所有值一次判斷是否都大於max,如果大於就max=i;同理min也是這麽判斷
5.最後要釋放內存,並且輸出數據
最終的代碼如下:
流程圖如下:
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
調試過程沒有大問題,基本會做,但對動態內存和結構體數組有些不理解,特別是數組,結構體,指針綜合運用時,時常弄混。所以還是得多做多看理解。
題目二:
1.本題PTA提交列表:
2.設計思路(包括流程圖),主要描述題目算法
//由題目,設計思路如下
1.這道題采用三維數組可以巧妙地求解
2.先定義一個三維數組,並且輸入值
3。再用三個for循環來比較總分,在比較過程中當三層循環都滿足條件時,再進行分數求和
4.最後輸出名字,學號和總分就可以
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
這道題一開始我是采用結構體,但多次都做不出正確的答案;最後在和同學討論下,就采用了三位數組,用三維數組可以巧妙而且簡單的求解;
題目三:
1.本題PTA提交列表:
2.設計思路(包括流程圖),主要描述題目算法
//由題目,設計思路如下
1.先定義四個數組,用於存名字,存號碼,生日
2.輸入一個n的值確定要輸入的人數;再用for()循環來輸入姓名,生日,號碼
3.再用兩個for()循環來比較出生日期;
4.最最後再用兩個for()循環來輸出已經排好的數據;
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
調試過程沒有問題,一開始不知從何下手來判斷出生日,但後來查閱了一些資料就有了頭緒,直接用循環和數組比較就能解決
二、同學代碼互評
1.我的代碼
:
2.同學:邢宇凡
同學的代碼
3.我和同學的代碼有哪些不同?各自有哪些優勢?你更喜歡那種代碼的風格?
同學的思路和我的基本相似,但方法不同。同學用數組來分配內存,比較完再輸出;我是采用動態數組進行分配內存。
三、截圖本周題目集的PTA最後排名
四、本周學習總結
1.本周你學會了什麽?
1.學會了結構體的基本定義,運用結構體來輸入數據,
2.初步接觸了結構體數組,結構體指針,以及鏈表和鏈表的增刪改查
2.本周的內容,還有那些內容不會?
結構體指針還有些模糊,鏈表的增刪改查運用的還不是很熟
五、PTA結構體實驗報告