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

來源:互聯網
上載者:User

標籤:調整   清零   說明   遍曆數組   整數   語言   最大的   ima   虛擬碼   

一、PTA實驗作業題目1:求整數序列中出現次數最多的數1. 本題PTA提交列表(要提交列表,不是結果)

2. 設計思路(用代碼錶示扣分)
  • 1.先用一個嵌套迴圈遍曆數組找出每個元素出現的次數,並用count[i]++;記錄出現的次數。
  • 2.max =count[0];
    if (count[i]>=max){
    max = count[i];
    index= a[i];
    再用一個for迴圈找出count數組中最大的元素並記錄下它的對應的數,就為出現最多次的數
  • 3.最後輸出這個數及其它的出現次數。
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

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

剛開始沒有 將各個項目清零for (i=0;i<n;i++) count [i]=0;導致出錯

題目2:數組迴圈左移1. 本題PTA提交列表(要提交列表,不是結果)

2. 設計思路(用代碼錶示扣分)
  • 1.數組的迴圈左移分n>m和n<m兩個主要情況。
  • 2.當n>m時,判斷m是否等於0,是則原樣輸出,不是則先輸出下標為m到下標為m-1的元素,再輸出下標0到m-1的元素。
  • 3.當n<m時先判斷m是否為n的倍數是則原樣輸出,不是則先將 m= m%n;進行取餘數用餘數在做2中的步驟輸出。
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 開始對於m取最小值0時在最後數位末尾總有空格導致這個測試點沒有過,最後將空格都換為#號才發現問題最後才解決
題目3: 楊輝三角1. 本題PTA提交列表(要提交列表,不是結果)

2. 設計思路(用代碼錶示扣分)
  • 1.先把主對角線和第0列上的元素都賦值為1if (j==0||j==i)a[i][j]=1;
  • 2.由於楊輝三角的定義當if (i>j&&i>=2&&j>0){//其中的每個元素都等於肩上的數相加-----> a[i][j]=a[i-1][j-1]+a[i-1][j];
  • 3.最後輸出下三角的二階矩陣,楊輝三角。
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 剛開始以為是每個元素在右邊佔4列用了%-4d結果格式錯誤,後來改成了%4d
二、本周題目集的PTA最後排名。

三、同學代碼結對互評(1分)1.互評同學名稱:王林聰2.My Code、互評同學代碼

我的:

王林聰的:

3.我和同學代碼不同在哪裡?有哪些各自優勢?你更喜歡哪種代碼風格?如果同學代碼有錯的也請幫忙指出來哪裡出問題。
  • 1.王某的代碼在第一行和第一列的輸入簡潔只用一個迴圈就完成了輸入,而我用了兩個迴圈
  • 2.王某對於計算每一行的數用了嵌套迴圈且第二層的變數隨第一層的改變而改變來進行下三角的元素的計算,而我則是用if(i>=j)條件來限定計算下三角
    總的來說的我比較易懂,他的方法很好。
  • 3.最後的輸出方法沒什麼區別
  • 4.最後我看了王某的代碼後發現自己的思路有時候是有點複雜了,感覺比較喜歡王某的代碼
四、本周學習總結(3分)1.你學會了什嗎?1.1 C中如何儲存字串?
  • 可以把字串儲存到一個字元數組中。
1.2 字串的結束標誌是什麼,為什麼要結束標誌?
  • 字串的結束標誌是‘ 0‘,用結束標誌來控制迴圈
1.3 字串輸入有哪幾種方法?
  • 理論上講有三種方法:
    scanf("%s",in_buff);
    gets(in_buff);
    fgets(in_buff,BUFFER_SIZE + 1,stdin);
1.4 數字字元怎麼轉整數,寫個虛擬碼?

num = num10 + flag(*str - ‘0‘);

1.5 16進位、二進位字串如何轉10進位?寫虛擬碼?
  • 16進位轉為10進位
    先判斷字串是為數字還是大寫字母還是小寫字母
    若為數字則number= number16+hexad[i]-‘0‘
    若為大寫字母則number= number
    16+hexad[i]-‘ A ‘ +10;
    若為小寫字母則number = number*16 + hexad[i]-‘ a ‘ +10

  • 2進位轉為10進位
    先判斷字串是為數字還是大寫字母還是小寫字母,然後進行對應的計算
    number= number2+hexad[i]-‘0‘
    number= number
    2+hexad[i]-‘ A ‘ +2;
    number = number*2 + hexad[i]-‘ a ‘ +2

2.本周的內容,你還不會什嗎?
  • 1.7-6的閱覽室還是寫不了全對
  • 2.對於插入排序不能很好的把握
3.期中考試小結
  • 對於本周的期中考試,自己十分不滿意,感覺離開電腦寫編程題有點力不從心,總是會遺漏一些東西,對於課本知識掌握還是不夠熟練,沒有認真看課本,課後沒有認真複習鞏固
3.1 你認為為什麼沒考好?
  • 考試前沒有很好地複習,沒有認真看課本一些概念,沒有把基本概念記住,沒有對以前寫過的題目進行反思
3.2 羅列錯題
  • 選擇第20題----!x是當x=0時答案不對c語言認為所有非0數都為真即為1

  • 填空題 ----對於科學計數法沒有想到

  • 改錯題 ---沒有認真看第三個的地方是否缺了括弧

  • 編程題 ----對於在紙上寫編程題思路不是很清晰稍微不注意就寫亂了,而且也沒有了文法錯誤修正

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.