C語言部落格作業--一二維數組

來源:互聯網
上載者:User

標籤:down   中間   ges   數列   讀速度   十六進位   調試過程   字元   列表   

一、PTA實驗作業題目1:判斷上三角矩陣1. 本題PTA提交列表

2. 設計思路

  定義整形變數T,t,n,flag,迴圈變數i,j。
 輸入T //T表示矩陣個數
 for i=1 to i<=T //迴圈輸出T個矩陣並判斷是否為下三角矩陣
 初始化flag=0
  輸入n
 定義整型數組a[n][n]
  for j=0 to j<n
     for t=0 to t<n
     scanf("%d",&a[j][t]);//輸出二維矩陣
  for(j=0;j<n;j++)
     for t=0 to t<j
     如果 a[j][t]!=0
      flag=1 //矩陣不滿足時
  end j
  如果 flag==0
   輸出YES //距陣滿足時
  否則
   輸出NO
   end i

3.代碼

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

沒有在第一個迴圈中令flag=0,第一次迴圈後的答案都是錯的。

題目2:找鞍點1. 本題PTA提交列表

2. 設計思路

定義整形變數n,max,min,flag,迴圈變數i,j。
輸入n
定義整形數組a[n][n]
for i=0 to i<n
    for j=0 to j<n
    輸入a[i][j] //輸入資料存放在數組中
 for i=0 to i<n
 令max=0
  for j=1 to j

##3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明
  • 開始寫的時候誤以為輸出的max是行下標,min是列下表,調試的時候輸出答案的時候才發現了錯誤。
  • 在判斷最大值和最小值的時候把max=j寫成了a[max]=a[j]。
題目3:簡化的插入排序1. 本題PTA提交列表

2. 設計思路

定義整形變數 i,n,x,j,t;
輸入n //n為數組長度
定義一個整形數組a[n];
for i=0 to i<n
輸入a[i] //把資料存入數組
end i
輸入x的值
如果a[0]>=x //討論當x為數列中最小值的情況
   則輸出x
   for i=0 to i<n
   輸出a[i]
    end i //輸出整個數組的值
 如果a[n-1]<=x //討論當x為數列中最大值的情況
    for i=0 to i<n
   輸出a[i]
end i //輸出整個數組
在最後輸出x的值
當x位於中間時 //討論x排在數列中間的情況
   for i=0 to i

3.代碼

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

第一次寫時沒分開討論三種情況,只討論了插在中間時的情況,最後通過pta上的提示改正了。

二、本周題目集的PTA最後排名。

PTA排名

三、同學代碼結對互評1.互評同學名稱2.My Code、互評同學代碼3.我和同學代碼不同在哪裡?有哪些各自優勢?你更喜歡哪種代碼風格?四、本周學習總結1.你學會了什嗎?1.1 C中如何儲存字串?

c語言將字串作為一種特殊的一維數組來處理。將字串存入字元數組時,要包括有效字元和字串結束符‘\0‘。

1.2 字串的結束標誌是什麼,為什麼要結束標誌?

結束標誌為遇到結束符‘\0‘,因為為要用結束標誌來控制迴圈。

1.3字串輸入有哪幾種方法?

方法:資料初始化、賦值和輸入

1.4 數字字元怎麼轉整數,寫個虛擬碼?

定義整形變數number,i,
定義字元數組a[10]
令i=0
while (a[i]=getchar())!=‘\n‘
i++
end while//輸入一個數組
記最後一個字元為a[i]=‘\0‘//將結束符存入數組
for i=0 to a[i]!=‘\n‘
number=a[i]-‘0‘//轉換成數字
輸出number
end i
end for

1.5 16進位、二進位字串如何轉10進位?寫虛擬碼?

定義整形變數number,i,
定義字元數組a[80]
令i=0
while (a[i]=getchar())!=‘\n‘
i++
end while//輸入一個數組
記最後一個字元為a[i]=‘\0‘//將結束符存入數組
for i=0 to a[i]!=‘\n‘
number=number16+a[i]-‘0‘//將十六進位轉換為十進位
或number=number
2+a[i]-‘0‘將二進位轉換為十進位
輸出number
end i
end for

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

  • 該題的代碼讀不懂它的目的
  • pta題目集中這題寫了很久還是沒思路
3.期中考試小結3.1 你認為為什麼沒考好?
  • 很多基礎沒掌握好;
  • 學過的知識點沒能及時複習,很容易遺忘。
  • 讀編程題的能力差。
  • 寫題的速度太慢,不夠時間。
3.2 羅列錯題。

選擇題

填空題

改錯題

編程題

請在選擇題、填空題、改錯題、編程題分別舉一題說明為什麼錯了,怎麼改?

3.3 下半學期要怎麼調整C的學習?
  • 及時複習學過的內容,紮實基礎;
  • 多鍛煉自己閱讀代碼的能力,並提高閱讀速度

C語言部落格作業--一二維數組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.