標籤:選擇 地址 應用 int 尋找 temp 長度 nta 錯誤
一、PTA實驗作業題目1:7-2區位碼IME1.本題PTA提交記錄
2.設計思路
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明
本來這道題看到題目我是驚慌失措的,還以為很難然後繼續往下看看到了這個
恍然大悟,寫出代碼之後出現了下面的問題:
是高位元組跟低位元組的輸出順序錯了,順序調過來就好了。
題目2:7-6掉入陷阱的數字1.本題PTA提交記錄
2.設計思路
1.定義一個計算陷阱數的函數trap;
2.定義三個變數i,number,N,輸入number的值;
3.進入迴圈:i=1,當i>0時,N=number,number=trap(number),輸出i:number,當N=number時,程式結束;否,則i++,繼續迴圈。
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明
編譯錯誤是因為之前沒什麼思路,寫到一半卡住了,就先提交去做別的事了。
出現這個問題的原因是我把迴圈的結束條件放在了外面。
題目3.7-10簡單計算機1.本題PTA提交記錄
2.設計思路
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明
第一次錯誤是if裡面的條件只用了一個等號,檢查了很久才發現
第二次則是判斷輸出“ERROR”的條件用了flag=0,反了,改為flag=1,時輸出ERROR即可。
二、本周題目集的PTA最後排名
三、本周學習總結1.你學會了什嗎?1.1 一維數組如何定義、初始化?
數組名是一個地址常量,存放數組記憶體空間的首地址。
1.3 為什麼用數組?
可以減少定義變數帶來的麻煩,便於資料的調用。
1.4 介紹選擇法、冒泡法、直接插入排序如何排序?虛擬碼展示.
- 選擇法排序
定義整型變數i,index,k,n,temp,index存放最小值所在的下標
定義數組a[10]
輸入n
i=0
當i<n時,輸入數, i遞增
將輸入的數依次賦給數組a的n個元素
k=0;k<n-1,用index來存放最小值所在下標
判斷數組a中元素與a[index]大小
如果a[i]<a[index],index=i,最小元素與下標為k的元素交換
temp=a[index];
a[index]=a[k];
a[k]=temp;
輸出排好後的n 個數組元素的值。
- 冒泡法排序
定義數組a[n]
定義整型變數i,j,temp,n
i=0
滿足i<=n-1時
輸入數
i++
將這組資料依次賦值給a[n]
判斷相鄰倆個資料,如果a[j]>a[j+1]
temp=a[j]
a[j]=a[j+1]
a[j+1]=temp
像這樣的過程要重複n=q-i次
迴圈結束後輸出新數組。
直接插入法排序
定義數組a[n]
定義整型變數i,j,k,temp
i=0;
滿足i<=n-1時
輸入數
i=0;
temp表示最小值的角標
判斷資料a[j]和temp的大小
如果temp<a[j],a[j]=temp
通過a[k+1]=a[k]實現插入位置後的資料整體往右挪
重複n -1次,輸出新數組。
1.5 介紹什麼是二分尋找法?它和順序尋找法區別?
- 對一組有序的數字中進行尋找,傳遞相應的資料,比較與中繼資料相同的資料,尋找到後返回對應數組下標
區別:順序尋找的特點是從第一個元素開始一個一個往下尋找,如果和目標一致的元素,則尋找成功,如果到最後一個元素仍沒有目標元素,則尋找失敗。而二分尋找就是從表的中間尋找目標元素,如果找到一致元素,這尋找成功,如果中間元素比目標元素小,仍用二分尋找表的後半部分,反之,中間元素比目標元素大,則尋找表的前半部分。
1.6 二維數組如何定義、初始化?
- 二維數組定義形式:類型名 數組名 [行長度][列長度]。
初始化:
(1)分行賦初值
一般形式:類型名 數組名 [行長度][列長度]={{初值表0},...,{{初值表k},...}
把初值表中的K中所有資料依次賦給第k行的元素。
(2)順序賦值法
一般形式:類型名 數組名 [行長度][列長度] = {初值表}
根據數組元素在記憶體中的存放順序,把初值表中的資料依次賦給元素。
1.7 矩陣轉置怎麼實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關係?請說明。
- 矩陣轉置:以主對角線為對稱軸,將所有元素互換位置;
- 下三角:i>=j;
- 上三角:i<=j;
對稱矩陣:i==j;
1.8 二維數組一般應用在哪裡?
- 二維表
矩陣
2.本周的內容,你還不會什嗎?
- 字串的輸入及判斷極有難度,只有極個別情況的題目我才能寫出來,一般寫不出。。。
- 進位運算有點生疏。
對於二維數組的認識模糊,運用起來生澀。
C語言部落格作業--資料類型