標籤:sum 二分 for 資料類型 速度 二維 掌握 判斷 字元變數
一、PTA實驗作業題目1:7-6 掉入陷阱的數字1. 本題PTA提交列表
2. 設計思路
- 1.定義輸入的變數N,輸出次數i,判斷變數x,以及第一組J
- 2.輸入N,並給i附上初始值0,計算第一次的J
- 3.利用do-while(x!=J)迴圈迴圈內
每一次i++,
輸出i,J
並使x=J
J=SKT(x);//調用函數
- 4.//若輸入的不為陷阱數則需要輸出i+1
printf("%d:%d\n",i+1,J);}
自訂函數:(實現 先將其各位元字相加求和,再將其和乘以3後加上1,變成一個新自然數N)
- 1.定義變數x為輸入的值,sum以及N為返回主函數的值
2.利用while(N!=0){
取出各個位元字
累加到sum
將sum*3+1給N
將N返回主函數
3.代碼4.本題調試過程碰到問題及PTA提交列表情況說明。
不能進入下一次的迴圈,在迴圈外給i附上初值,給J求出第一次的值再進入迴圈即可
列表部分正確僅為第一次的結果。
題目2:7-7 發紅包1. 本題PTA提交列表2. 設計思路
- 1.分別定義abcedfg用於表示各個面額的張數,x為金額數
- 2.輸入x
- 3.分別計算
a=x/100;//求100元張數
b=(x-a100)/50;//50元的張數
c=(x-a100-b50)/20;//20元的張數
d=(x-a100-b50-c20)/10;//10元的張數
e=(x-a100-b50-c20-d10)/5;//5元的張數
f=(x-a100-b50-c20-d10-e5)/2;//2元的張數
g=(x-a100-b50-c20-d10-e5-f*2)/1;//1元的張數
4.按格式輸出面額及張數
3.代碼4.本題調試過程碰到問題及PTA提交列表情況說明調試過程沒遇到什麼問題,
PTA提交顯示格式錯誤,為沒有控制數字個位對齊
題目3:7-10 簡單計算機1. 本題PTA提交列表2. 設計思路
- 1.定義字元變數ch
- 2.定義x=0作為判斷變數n為輸入的值,i為每次運算的中間值
- 3.利用while(ch!=‘=‘)迴圈,再迴圈內輸入n以及字元利用if-else if語句選擇運算式,再除法運算時若除數為0則將x=1並break
- 4.若有非法運算子x=1
5.x!=1輸出i若x==1輸出ERROR
3.代碼4.本題調試過程碰到問題及PTA提交列表情況說明。
沒有對除數為零以及非法運算子的情況進行判斷
二、本周題目集的PTA最後排名。三、本周學習總結1.你學會了什嗎?1.1 一維數組如何定義、初始化?一維數組定義,需要明確陣列變數名,數組元素類型和數組的大小,其一般形式為: 類型名 變數名 [數組長度]
數組的初始化可以再定義數組時,對數組元素賦初值,其一般形式為:類型名 變數名 [數組長度]={初值表}(可以只針對部分元素)
1.2 一維數組在記憶體中結構?可畫圖說明。數組名表示什嗎?結構如課本150頁圖7.2所示
數組名表示該數組所分配連續記憶體空間中第一個單元的地址
1.3 為什麼用數組?數組可以使一組相同類型資料有序排列,並且連續存放,使用方便。
1.4 介紹選擇法、冒泡法、直接插入排序如何排序?虛擬碼展示.選擇法:
- 1.對數組的n個元素附上初值
- 2.利用for對n個元素進行排序
- 3.a[i]<a[min]則將兩值交換
- 4.將a[min]返回
冒泡法:
- 1.定義變數a[10],i,j,k
- 2.一次將數輸入數組
- 3.對n個數排序,for(k=0;k<n-1;k++) max=k
- 4.輸出n個數組元素的值
直接插入法:
- 1.從第二個數開始
- 2.如果比前一個數小,交換到前一個位置
3.重複2,直到該數前面沒數字或者前面的數比它大
1.5 介紹什麼是二分尋找法?它和順序尋找法區別?二分尋找法:先確定該區間的中點位置,將待查的x值與a[mid]比較,若相等,則尋找成功並返回此位置,若a[mid]>x,則新的尋找區間是a[1..mid-1]若a[mid]<x,則新的尋找區間是a[mid+1..n]
二分尋找法適用於排序過的數組,不必將每一個元素都進行比較,速度快,順序尋找法要遍曆數組
1.6 二維數組如何定義、初始化?定義:類型名 數組名 [行長度][列長度]
初始化:分行賦初值:int a [3] [3] ={ { 1,2,3} , {4,5,6} ,{7,8,9} } 順序賦初值: int a [3] [3] = {1,2,3,4,5,6,7,8,9}
1.7 矩陣轉置怎麼實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關係?請說明。對角線上元素不變,其餘元素兩個下標互換
上三角:i<=j
下三角:i>=j
對稱矩陣:a[i][j]==a[j][i]
1.8 二維數組一般應用在哪裡?矩陣,表
2.本周的內容,你還不會什嗎?對於二維數組的部分極不熟悉,考試題中一些基本的概念性的問題,以及對於手寫代碼,考試發現對於函數部分的知識仍舊掌握不牢固。對於數組只是知道其基本的概念,涉及到應用程式層面的問題就涼涼了。PTA中一些需要判斷的問題,沒能第一時間想出判斷的方法有時還忘記去判斷。對於一些題目的本意有的也不太理解。
C語言部落格作業--資料類型