數組實驗報告


一、PTA實驗作業

題目1:7-10 矩陣運算

1. 本題PTA提交列表

2. 設計思路(包括流程圖)

定義N,i=0,j=0,sum=0,二維數組a[i][j]。通過循環限制i,j<n-1除去最后一行和最后一列的元素,通過判斷i+j是否等於n-1除去副對角線的元素 ,所有剩余的元素相加即為題目所求。

流程圖如下

3.代碼截圖

4.本題調試過程碰到問題及PTA提交列表情況說明。

前兩次提交部分正確是因為漏看了題目要求除去副對角線上的元素,通過思考,第一次填寫的限制條件是i+j!=n,仍然錯誤。經過思考,得出限制條件應該是i+j!=n-1。

題目2:7-20 輸出GPLT

1. 本題PTA提交列表

2. 設計思路(包括流程圖)

通過利用while循環+switch函數統計G,P,L,T所出現的次數。再利用一個while循環,按照GPLT的順序輸出,每輸出一個字母就減去對應的字母出現的次數一次,最后通過判斷GPLT的出現次數都為0的時候,退出循環,得出答案。

流程圖如下

 3.代碼截圖

4.本題調試過程碰到問題及PTA提交列表情況說明。

第一次部分正確是因為出現了運行時錯誤,通過擴大字符串ch長度,從ch[10000]換成ch[10010]解決問題。

題目3:7-30 A-B

1. 本題PTA提交列表

2. 設計思路(包括流程圖)

題目要求的A-B換種說法就是輸出A所有字符中除去B中所含的字符,所以我定義兩個字符串,通過循環將ch1中的字符依次與B中的字符進行比較,若全不相同就輸出,若有相同就進行下一字符的對比。以此類推。

流程圖如下

3.代碼截圖

4.本題調試過程碰到問題及PTA提交列表情況說明。

同第二題一樣出現運行時錯誤,擴大ch1,ch2解決問題。

二、同學代碼結對互評

1.同學互評照片

我的代碼如下                                

謝曄暉同學的代碼

不同點1:輸入字符串方法不同

我的方法是用gets函數直接將字符串輸入,這樣代碼的簡練度較高。而曄暉是利用循環,一個字符一個字符的輸入。

不同點2:對GPLT個數的統計

我的方法使用switch函數統計,曄暉使用循環+if判斷統計。代碼簡練程度沒有太大區別,但我認為switch函數來統計個數更清晰點。

相同點1:輸出方法類似。

我更加喜歡自己的代碼風格。

三、截圖本周題目集的PTA最后排名

四、本周學習總結

1.你學會了什么?

(1)學會了一維數組和二維數組的應用,並且能與子函數和指針結合運用。

(2)gets,puts,strcmp,strcpy,strlen,strcat字符串操作函數的應用,並且能寫出函數原型。

gets(ch1)//輸入字符串ch1

puts(ch2)//輸出字符串ch1

strcmp(ch1,ch2)//字符串比較(不是比較字符串長度,而是逐個比較字符串ch1和ch2中的對應字符,知道對應字符不等或者比較到字符串尾,若相等返回值為0,若不相等返回值為不相等字符的差值)

strcpy(ch1,ch2)//把字符串ch2復制到ch1中

strcat(ch1,ch2)//把字符串ch2連接到ch1

strlen(ch1)//求字符串ch1的長度

(3)字符串的結束符'\0'(在用gets函數中,回車后自動在字符串尾生成\0')

2.本周的內容,你還不會什么?

長時間思考后仍然沒有思路。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM