標籤:div 儲存空間 分享 次數 1.4 1.5 是什麼 技術分享 語言
一、PTA實驗作業題目1:7-2 求整數序列中出現次數最多的數1. 本題PTA提交列表
2. 設計思路
- 定義變數n,i,j,max等於0,a[]10用於存放輸入的值,b[10]用於存放a[]中各個數有多少個;
- 輸入n的值
- i從0開始,每次加1,輸入a[i]的值,直到i==n結束迴圈
- i從0開始,判斷i是否<n,,進入下一步,每次加一,直到條件不滿足
j從0開始,判斷j是否<n,,進入下一步,每次加一,直到條件不滿足
如果a[i]==a[j],b[i]加一
- i從0開始,判斷i是否
- 輸出a[j] 與max的值
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
當時由於創造一個新的數組c[]用來存放b[]導致本題的變數太多,中間某些地方寫錯,用Dev調試,變數太多,很難看清楚,後來將c[]刪除,用b[]來做就做對了。
題目2:7-8 加法口訣表1. 本題PTA提交列表
2. 設計思路
- 定義變數repeat,i,n;
- 輸入repeat的值
- j從1開始,判斷j是否<n+1,,a[o][j]每次加一,直到條件不滿足
- 調用函數void arrange(int n);
- 定義變數a[][],i,j,op=‘+‘
- j從0開始,每次加1,a[0][j]=0,直到i==n+1結束迴圈
- i從1開始,判斷i是否<n+1,,進入下一步,每次加一,直到條件不滿足
j從0開始,判斷j是否<n+1,,進入下一步,每次加一,直到條件不滿足
a[i][j]等於j+i
- 輸出op的值
j從0開始,輸出a[0][j]進入下一步,每次加一,直到條件不滿足
換行
從1開始,判斷i是否<n+1,,進入下一步,每次加一,直到條件不滿足
j從0開始,判斷j是否<n+1,,進入下一步,每次加一,直到條件不滿足
輸出a[i][j]的值並且換行
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
本題要求每行最後一個數值後面沒有空格直接換行,且佔四列,我用了空格,後來改為3個空格,才明白四列是3個空格。
題目3:7-9 判斷上三角矩陣1. 本題PTA提交列表
2. 設計思路
- 定義變數T,n,i,j,k,a[][]
- 輸入T的值
- i從0開始,每次加1,輸入n的值,直到i==repeat結束迴圈
j從0開始,每次加1,進入下一步,直到i==nt結束迴圈
i從0開始,每次加1,輸入a[i]的值,直到i==n結束迴圈
輸入a[i][j]的值
- 調用函數s=arrange(a,n);
- 如果s=1,則輸出Yes,否則輸出No
- 定義變數ijs
- i從0開始,每次加1,進入,直到i==n結束迴圈
j從0開始,每次加1,進入下一步,直到i==nt結束迴圈
如果a[i][j]不等於0,s=0,跳出這個迴圈
- return s
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
剛開始以為是下面哪個部分錯誤,就從下往上一個個注釋掉,後來才發現是scanf後面加了一個分行符號號的錯誤。
二、本周題目集的PTA最後排名。
三、同學代碼結對互評
傑偉的代碼
My Code
- 1.我和他代碼不同的是對於加法的求和我是發現規律來求的a[i][j]=j+i; 他是用a[k][m]=a[0][k]+a[m][0];,他的這個方法適應性更強
- 2對於輸出我用空格相對來說比他更簡潔,代碼量更少,用-4d考慮的因素太多了,更容易出錯
四、本周學習總結1.你學會了什嗎?
- 我學會了用rand實現電腦“自己”產生數字
- 我學會了用gets(),輸入
1 C中如何儲存字串?
1.2 字串的結束標誌是什麼,為什麼要結束標誌?
1.3 字串輸入有哪幾種方法?
- scanf("%s",a);
- scanf("%c",p);
- gets(a);
1.4 數字字元怎麼轉整數,寫個虛擬碼?
- 定義一個整數形變數i,和字元形變數j
- i等於j-字元0+0
1.5 16進位、二進位字串如何轉10進位?寫虛擬碼?
16進位轉成10進位
- 定義一個變數number為0,數組a[]
- 將16進位的字串依次輸入到a[i]中
- i從0開始,每次加1,進行下一步,直到a[i]==0結束迴圈
如果a[i]在0到9之間,number=number16+a[i]
如果a[i]在a到f之間,number=number16+a[i]-‘a’+a
如果a[i]在A到F之間,number=number*16+a[i]-‘A’+A
- 輸出number
二進位轉成10進位
- 定義一個變數number為0,數組a[]
- 將12進位的字串依次輸入到a[i]中
- i從0開始,每次加1,進行下一步,直到a[i]==0結束迴圈
number=number*2+a[i]
- 輸出number
2.本周的內容,你還不會什嗎?
*對於這個題目不理解題意,導致課堂派的這道題完全不會填
- 對於gets(a),scanf(“%s”,a)運用不太熟悉
3.期中考試小結33.1 你認為為什麼沒考好?
比如改錯題
- n++改為n=n+2沒有改出來
由於對於這道題的演算法沒有搞清楚,所以錯誤了
比如編程題
- 就是對於一元二次方程的x=[+ -(b^2-4ac)^(1/2)-b]/2a這個不會導致x1,x2沒辦法寫出代碼,把這個式子添加進去就正確了
3.3 下半學期要怎麼調整C的學習?
- 我覺得我應該做好預習工作,改正我對課堂派不認真的態度。
- 在做pta應該要多花時間,不應該在一道題上糾結一天的時間,提高效率。
- 在老師講完後,應該要回顧自己還不理解的地方,把它解決掉,在部落格作業總結自己的一個星期學會與不會的內容。
C語言部落格作業--一二維數組