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

來源:互聯網
上載者:User

標籤: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中如何儲存字串?
  • 2.使用字元數組存;
  • 2.使用字元指標儲存字串
1.2 字串的結束標誌是什麼,為什麼要結束標誌?
  • ‘0’
  • 使字串正常結束
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=number
    16+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 你認為為什麼沒考好?
  • 首先是我對於10進位2進位16進位的相互轉換不是很熟悉
  • 對於運算式中的位元運算,等號運算式,逗號運算式,邏輯運算式不會
  • 寫代碼字寫的差,沒有注釋,看起來很不美觀

    33.2 羅列錯題。

    比如期中考試卷的單選題的第4道題,

  • 位元組:8個二進位位構成1個"位元組(Byte)",它是儲存空間的基本計量單位。
  • 目前廣泛使用的Pentium機,其字長為32
  • 因為每個位元組byte是8個bit
    這道題做錯是不懂於位元組的概念
    比如填空題

  • Total = 10
    對於這道題我錯誤在於沒有加上空格

比如改錯題

  • n++改為n=n+2沒有改出來
    由於對於這道題的演算法沒有搞清楚,所以錯誤了

比如編程題

  • 就是對於一元二次方程的x=[+ -(b^2-4ac)^(1/2)-b]/2a這個不會導致x1,x2沒辦法寫出代碼,把這個式子添加進去就正確了

3.3 下半學期要怎麼調整C的學習?

  • 我覺得我應該做好預習工作,改正我對課堂派不認真的態度。
  • 在做pta應該要多花時間,不應該在一道題上糾結一天的時間,提高效率。
  • 在老師講完後,應該要回顧自己還不理解的地方,把它解決掉,在部落格作業總結自己的一個星期學會與不會的內容。

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.