C部落格作業04--陣列
阿新 • • 發佈:2018-12-08
1. 本章學習總結
1.1 思維導圖
1.2 本章學習體會及程式碼量學習體會
1.2.1 學習體會
這幾周學習了陣列,一維陣列,二維陣列,字元陣列,前一個題集還沒做完,後一個題集就又釋出了,當場去世,可能因為題目難度也在增加,然後有些懶,題目一直放著沒有好好去做,都是等老師講完有了思路,再根據老師的思路把程式碼打一遍。這一點自我檢討一下。學習了陣列,並且學了幾種排序方法,之前的一些題目也可以改用陣列的方法來做。感覺陣列有些題目有思路做起來,也有點懵懵的,不能一遍過,都需要除錯一下才知道自己的問題出在哪。陣列這塊的內容還是很重要的,所以我應該要把知識盲區都弄懂,並且累計一些做題思路。而且題集也不能一拖再拖了,遇到難題也不應該是躲避了,希望在接下去的時間裡,我可以把它們全解決掉。
1.2.2 程式碼累計
2. PTA總分
2.1 截圖PTA中陣列題目集的排名得分
2.2 我的總分:
3. PTA實驗作業
3.1 PTA題目1
陣列迴圈左移
本題要求實現一個對陣列進行迴圈左移的簡單函式:
一個數組a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移m(≥0)個位置
3.1.1 演算法分析
定義i,j,n,m,temp 輸入n,m 輸入n個數存入陣列a for i=0 to m do temp=a[0] for j=0 to n-1 do a[j]=a[j+1] a[n-1]=temp end for end for 按照要求格式輸出
3.1.2 程式碼截圖
#include<stdio.h> int main() { int n,m,i,j,temp; scanf("%d%d",&n,&m); int a[n]; for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<m;i++)//左移次數 { temp=a[0];//先用temp儲存a[0] for(j=0;j<n-1;j++) a[j]=a[j+1];//各數往前移 a[n-1]=temp;//將a[0]放到最後一位 } for(i=0;i<n;i++) { if(i<n-1) printf("%d ",a[i]); else printf("%d",a[i]); } return 0; }
3.1.3 測試資料
3.1.4 PTA提交列表及說明
Q1:剛開始做,挺有思路的但是感覺程式碼質量很差,而且有一兩個點一直過不了
A1:後來老師在課上講了這題,瞬間有種頓悟的感覺,好方法就要累積下來
3.2 PTA題目2
3.2.1 演算法分析
3.2.2 程式碼
3.2.3 測試資料
3.2.4 PTA提交列表及說明
Q1:
A1:
A2:
3.3 PTA題目3
3.3.1 演算法分析
3.3.2 程式碼
3.3.3 測試資料
3.3.4 PTA提交列表及說明
Q1:
A1:
A2:
4. 程式碼互評
4.1 程式碼截圖
同學程式碼
我的程式碼
4.2 兩者的不同
1.整體思路不同:
2.關係式不同:
3.