標籤: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提交列表情況說明。
題目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提交列表情況說明。
二、本周題目集的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語言部落格作業--資料類型