標籤:none 提交 整型數字 1.2 字元型 次數 知識點 出現 不同
一丶PTA實驗作業題目1:數組迴圈左移(1).PTA提交列表
(2). 設計思路
定義整型變數 n,i,m;
輸入n
定義數組a【n】,b【n】;
輸入m
for 1 to n-1
輸入數組a【n】
如果n>m{
第七步:for 0 to n-m-1
b[i]=a[i-n+m]
for 0 to n-1
如果i<n-1
輸出b【i】+空格
否則輸出b【i】}
否則 m=m-n直到n<=m
重複第七步
(3).代碼
(4).本題調試過程碰到問題及PTA提交列表情況說明
想的太簡單,沒有想到移動次數可能大於數組的長度,提交完後pta提示了才進行修改,對題目解析的還不夠透徹
題目2:找鞍點(1).PTA提交列表
(2). 設計思路
定義變數 i,j,k,g,n,flag=1,count=0;
輸入n;
定義二維數組a[n][n]
for 0 to n-1 i
for 0 to n-1 j
輸入數組a【i】【j】
for 0 to n-1 i
for 0 to n-1 j
for 0 to n-1 k
如果a【i】【j】<a[i][k]
flag=0,跳出迴圈
否則 flag=1
如果flag==1{
for 0 to n-1 g
如果a【i】【j】>a[g][j]
flag=0,跳出迴圈;
否則flag=1
否則 ,跳出本次迴圈進入下次迴圈
如果flag=1,輸出i j,count=1;
如果count=0,輸出NONE;
(3).代碼

(4).本題調試過程碰到問題及PTA提交列表情況說明
忘記了continue語句的用法,導致不滿足行最大時不知道怎麼處理,不能跳出迴圈又不知道怎麼樣跳出本次迴圈
題目3:加法口訣表(1).PTA提交列表
(2). 設計思路
定義整型變數 a,i,j,repeat,n
輸入repeat
for 1 to repeat a
輸入n
定義數組a【n+1】【n+1】
for 0 to n i
for 0 to n j
a[i][j]=i+j;
for 0 to n i
for 0 to n j
如果i為0
如果a【i】【j】為0
輸出+ ,跳出本次迴圈進入下次迴圈
如果j==0
輸出a【i】【j】
否則輸出a【i】【j】向靠右對齊四個字元,跳出本次迴圈進入下次迴圈
如果i>=j
如果i=j,輸出a【i】【j】
否則輸出a【i】【j】向靠右對齊四個字元
每次迴圈結束進行換行
(3).代碼
(4).本題調試過程碰到問題及PTA提交列表情況說明
在定義數組大小時只按照題目給的n進行判斷,但是實際操作發現數組無法存放那麼多資料
二、本周題目集的PTA最後排名三、同學代碼結對互評
1.互評同學名稱:鄭偉
2.My Code、互評同學代碼
My Code
同學的代碼
3.我和同學代碼不同在哪裡?有哪些各自優勢?你更喜歡哪種代碼風格?
My Code是用兩個數組進行解題,一個數組存數字一個數組存出現的次數,而同學的代碼一個數組雙重迴圈既可以解決問題。我們兩個的缺點都是沒注釋,看他的程式看的很累,他看我的也很辛苦
四、本周學習總結1.你學會了什嗎?
1.你學會了什嗎?
1.1 C中如何儲存字串?
定義字元型數組儲存字串
1.2 字串的結束標誌是什麼,為什麼要結束標誌?
‘\0‘ 判斷一個字串是否結束,作為迴圈時結束的條件
1.3 字串輸入有哪幾種方法?
gets(a)
scan("%s",&a)
for(i=0;a[i];i++)
scanf("%c",&a[i]);
1.4 數字字元怎麼轉整數,寫個虛擬碼?
定義字元型變數 ch;
定義整形變數 n;
輸入字元數字ch
利用ASCII碼進行轉換 n = ch-48 (48為數字0)
輸出整型數字n
1.5 16進位、二進位字串如何轉10進位?寫虛擬碼?
16進位:
定義字元型數組a[80]
定義整型變數n
nr=0
i for 0 to a[i]不等於\0
若a[i]為字元0到9,nt=n16+a[i]-‘0‘;
若a[i]為‘a‘到‘f‘,n=n16+a[i]-‘a‘+10;
若a[i]為‘A‘到‘F‘,n=n16+a[i]-‘A‘+10;
2.本周的內容,你還不會什嗎?
對於字串的輸入方式的界定還不是很清楚
對於段錯誤的錯誤點還不明白
3.期中考試小結
3.1 你認為為什麼沒考好?
對於時間分配,考試的大局觀沒有掌控好
解題太急迫,導致程式題寫了之後修改反覆
卷面不夠好
3.2 羅列錯題。
單選題 3 ;4;6;11;16;18
剖析器 1; 2 ;3
3.3 下半學期要怎麼調整C的學習?
還是要打好基礎吧,再解編程題時不能把知識點落下
閱讀程式的能力還要提高
C語言部落格作業--一二維數組