三、PTA數組實驗報告
三、PTA實驗作業(數組)
題目一:
1.本題PTA提交列表:
2
2.設計思路(包括流程圖),主要描述題目算法
//設計思路,由題目可知
1.先定義一個數組用for()循環用於輸入數據
2.再用一個for()循環,用於置換數組中個值得位置(用第一個和最後一個的位置交換,第二個和倒數最後一個交換。。。)
3.最後再用一個for循環輸出就可以
最終代碼如下:
流程圖如下:
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
本題在調試過程中沒有問題,但在做的過程中一開始對交換位置的循環條件有些糾,經過多次的計算後自己就可以解決了
題目二:
1.本題PTA提交列表:
2.設計思路(包括流程圖),主要描述題目算法
//由題目,設計思路如下
1.本題可以用一個主函數和一個子函數來求解
2.主函數主要用於輸入數據到數組中,並且把數組,n的值,num的值傳遞給子函數
3.子函數通過主函數傳遞過來的數據,用for循環和if語句一一判斷a[i]==num;如果滿足就輸出i的值,並不滿足就輸出“not Found”
最終的代碼如下:
流程圖如下:
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
本題調試過程中沒有沒錯誤;剛開始學數組的時候,對於子函數數組做參數還不是很理解,但在經過與同學討論後就能自行解決
題目三:
1.本題PTA提交列表:
2.設計思路(包括流程圖),主要描述題目算法
//由題目,設計思路如下
1.本題主要先定義二維數組
2.輸入n的值,和二維數組的各個值
3.用for()循環和if條件語句判斷哪些值可累加,當i,jb並不等於n-1;和i+j!=n=1時
4.最後輸出s的值就可以
最終代碼如下:
流程圖如下
3.本題調試過程碰到的問題及PTA提交的情況說明(**註意:調試過程必須截圖說明如何調試,如何解決問題,PTA提交的列表中的每一個錯誤詳細說明為什麽及如何解決)
這道題開始是不會如何用一步就可以判斷出那些只可以累加,但後來認真思考一下還是輕松解決的;調試過程沒有什麽c錯誤
二、同學代碼互評
題目:
7-17 判斷上三角矩陣(15 分)
上三角矩陣指主對角線以下的元素都為0的矩陣;主對角線為從矩陣的左上角至右下角的連線。
本題要求編寫程序,判斷一個給定的方陣是否上三角矩陣。
輸入格式:
輸入第一行給出一個正整數T,為待測矩陣的個數。接下來給出T個矩陣的信息:每個矩陣信息的第一行給出一個不超過10的正整數n。隨後n行,每行給出n個整數,其間以空格分隔。
輸出格式:
每個矩陣的判斷結果占一行。如果輸入的矩陣是上三角矩陣,輸出“YES”,否則輸出“NO”。
輸入樣例:
2
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2
輸出樣例:
YES
NO
1.我的代碼:
2.同學:刑宇凡
同學的代碼:
3.我和同學的代碼有哪些不同?各自有哪些優勢?你更喜歡那種代碼的風格?
我和同學的思路基本相同,都是采用二維數組來來輸入以及判斷。但同學的判斷條件以及全局變量更加詳細,便於理解。
我寫的代碼雖然簡單,但是不夠詳細,我更喜歡自己的寫法,但以後會盡量把代碼寫得更加詳細。
三、截圖本周題目集的PTA最後排名
四、本周學習總結
1.本周你學會了什麽?
本周學會的內容較多,比如一維數組和二維數組,多維數組,以及字符數組等;
主要是結合各維數組進行排序(冒泡法排序,選擇排序等各種排序),以及各種數組的綜合應用
2.本周的內容,還有那些內容不會?
主要不會的是數組與指針等結合使用時總是有點不理解,數組的各種排序方法雖然會了,但有時又不太理解其具體的原理;
三、PTA數組實驗報告