C語言部落格作業--資料類型

來源:互聯網
上載者:User

標籤:g++   錯誤   .com   賦值   代碼   為什麼   解決問題   排序   虛擬碼   

一、PTA實驗作業題目1: 倒順數字串1. 本題PTA提交列表(要提交列表,不是結果)

2. 設計思路(用代碼錶示扣分)
  • 首先輸入一個數字判斷是否為1的特殊情況,如是則直接輸出。
  • 不是則先進入一個for迴圈從1輸到這個數字,將迴圈變數i減2進入一個以迴圈變數i遞減的for迴圈輸出每次遞減的i知道i=1為止。
  • 對於行末不能有空格問題只要判斷第二個迴圈中當i=1時另外輸出數字末尾無空格就好了。
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 多輸出了一個中間最大的數字。

    通過調試得知是在第一個迴圈出來後迴圈變數i比輸入的值多一,後來將i的值減二,才正確
題目2: 掉入陷阱的數字1. 本題PTA提交列表(要提交列表,不是結果)

2. 設計思路(用代碼錶示扣分)
  • 定義一個計算數位每個位元和乘3+1的函數,在主函數輸入第一個數字進入for迴圈先調用Function Compute得出值付給result,判斷與前面的數是否相等是則退出迴圈,不是則再調用函數迴圈計算直到有兩值相等.
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 剛開始總想把所有過程在函數中完成,但後來發現比較麻煩

  • 後來改變想法,用函數進行計算將得出的值返回到主函數在主函數內用一個重複賦值,再調用Function Compute,再比較兩值是否相等解決問題

題目3: 判斷合法標識符1. 本題PTA提交列表(要提交列表,不是結果)

2. 設計思路(用代碼錶示扣分)
  • 先輸入repeat的值在用一個getchar吸收斷行符號
  • 用for語句進行repeat次運算,令flag=0並用getchar輸入第一個字元,判定是否為字母或底線開頭
  • 不是則進入一個while迴圈重複輸入其餘字元並令flag++當輸入斷行符號時跳出,判斷flag時否為0不為0則輸出No
  • 是為字母或底線開頭,進入一個while迴圈重複輸入其餘字元並判斷字元是否為字母數字或底線是則繼續輸入其餘字元,不是則令flag++,輸入斷行符號則結束迴圈,在最後判斷flag的值是否為0來輸出Yes或No
3.代碼(注意,,,。不要粘貼部落格上。不用用···文法去渲染)

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 1.開始沒有把輸入repeat的值後的斷行符號吸收,導致直接跳出

  • 2.沒有將flag的資料重設導致flag都不為0,輸出結果都為no,老火

  • 3.格式錯誤是因為沒有換行......

二、本周題目集的PTA最後排名。(2分)

三、本周學習總結(3分)1.你學會了什嗎?1. 一維數組如何定義、初始化?

定義:類型名 數組名 [數組長度]
初始化:類型名 數組名 [數組長度] = {初值表};

1.2 一維數組在記憶體中結構?可畫圖說明。數組名表示什嗎?

記憶體結構

數組名是陣列變數的名稱,是一個合法標識符

1.3 為什麼用數組?

在程式中使用數組可以讓一批相同類型的變數使用同一個陣列變數名,優點是:表達簡潔,可讀性好,便於使用迴圈結構。

1.4 介紹選擇法、冒泡法、直接插入排序如何排序?虛擬碼展示.
  • 1.冒泡法:先輸入數組元素的個數,經過一個for迴圈輸入所有元素,用嵌套迴圈,外迴圈控制排序趟數,n個數排n-1趟,內迴圈為每趟的比較次數(隨著外迴圈趟數的增加而減少),用if進行相鄰元素比較,逆序則交換,最後再用一個for迴圈來輸出排序後的結果。

  • 2.選擇法:先輸入數組元素的個數,經過一個for迴圈輸入所有元素,用嵌套迴圈,外迴圈控制趟數,n個數選n-1趟,假設當前趟的第一個數為最值,記在k中,從下一個數到最後一個數之間找最值若其後有比最值更大的則將其下標記在k中,若k不為最初的i值,說明在其後找到比其更大的數,則交換最值和當前序列的第一個數,最後再用一個for迴圈來輸出排序後的結果。

  • 3.直接插入排序:先輸入數組元素的個數,經過一個for迴圈輸入所有元素,用嵌套迴圈,外迴圈控制趟數,n個數從第2個數開始到最後共進行n-1次插入,將待插入數暫存於變數t中,在有序序列(下標0 ~ i-1)中尋找插入位置,若未找到插入位置,則當前元素後移一個位置,找到插入位置,完成插入,最後再用一個for迴圈來輸出排序後的結果。

1.5 介紹什麼是二分尋找法?它和順序尋找法區別?
  • 對於數組進行比較的時候,比較數組大小的中間值,當探索資料大於該中心資料,就在後面的一個區間進行比較,

如果小於該中心資料,就在前面一個區間進行比較,在新的區間裡,再次使用之前的大小中間比較法,比較,直到最後找到該資料為止

  • 順序尋找法是從表的一端開始的,二分法是從中間開始的
1.6 二維數組如何定義、初始化?

二維數組的定義:類型名 數組名 [行長度] [列長度] ;
初始化 :類型名 數組名 [行長度] [列長度] = {{初值表0} , ··· , {初值表k} , ··· };

1.7 矩陣轉置怎麼實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關係?請說明
  • 上三角 :i<=j
  • 下三角 :i>=j
  • 主對角線:i==j
  • 副對角線 :i+j==n-1
1.8 二維數組一般應用在哪裡?
  • 應用於矩陣方面
2.本周的內容,你還不會什嗎?
  • 對於本周的期中考試,自己十分不滿意,感覺離開電腦寫編程題有點力不從心,總是會遺漏一些東西,對於課本知識掌握還是不夠熟練,沒有認真看課本,課後沒有認真複習鞏固
  • 對於PTA的第9題打了很久還是感覺代碼打出來很亂,有的時候會把自己弄迷糊
  • 對於直接插入排序法還是有點弄不清楚

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.