- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
雲端共撰課程設計.ppt
陣列 01010 10101 01010 01010 10101 01010 01010 10101 01010 一種結構性的資料儲存方式,同一陣列裡的元素,其資料型態相同 陣列元素的記憶體位置被分配為相鄰 用一個變數名來代表整體的資料 把陣列想成一排置物櫃,陣列裡的數字代表櫃子的數量,例如:hey[20] C語言的陣列索引(index)從0的開始 x[2]是第三個陣列x的值,x[0],x[1],x[2],x[3]… 陣列 陣列分為一維陣列、二維陣列、多維陣列 資料型態 陣列名稱[陣列大小]; int x[5]; 資料型態 陣列名稱[陣列大小][陣列大小]; float y[2][3]; 宣告陣列時,可一併給初始值: int x[5] = {1,2,3,4,5}; int z[3][4] = {1,2,3,4,5,6,7,8,0,1,2,3}; 陣列宣告 X[0] X[1] X[2] X[3] X[4] Z[0][0],Z[0][1],Z[0][2],Z[0][3] Z[1][0],Z[1][1],Z[1][2],Z[1][3] int age[4]; float b=7.0; char x[4]; scanf(“%d%d%d%d”,age[0],age[3],…); scanf(“%s”,x); … 陣列宣告使用 age ? X[0] 2A11 x ? X[1] 2A12 ? X[2] 2A13 ? X[3] 2A14 X[0] X[1] X[2] X[3] 1,5,9,8 L o v e 1,5,9,8 Love ? ? ? ? age 1A00 age 1A02 age 1A04 age 1A06 8 1 9 5 age[1] age[2] age[3] age[0] b 3A14 7.0 b b 輸入3個實數,並求其平均值 #includestdio.h void main() { float num[3], sum=0; int i; for (i = 0; i 3; i++) { printf(Input a number to num[%d] : , i); scanf(%f, num[i]); sum = sum + num[i]; } printf(The average is %f\n, sum / i); } 進階 陣列空間分配方式 C語言分配一塊連續的記憶體給一個陣列宣告 int x[10]; 分配10*sizeof(int)個bytes int x[5][10]; 分配5*10*sizeof(int)個bytes int x[4][5][6]; 分配4*5*6*sizeof(int)個bytes void fun(int x[]) { } 沒有分配陣列空間,相當於int *x; C語言呼叫函數傳遞參數時,無法傳遞整個陣列(陣列可能大得不得了),而是傳遞陣列的開頭地址,也就是指標 在參數宣告時,指標和沒有宣告大小的陣列是可以混用 陣列空間分配方式 C語言是使用row major的方式來處理多維到一維的對應即右邊的索引先變化 int x[2][3]; 六個陣列元素在記憶體中的排列順序為x[0][0],x[0][1],x[0][2],x[1][0],x[1][1],x[1][2] Pascal Triangle 下圖為n=6的情況 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 規則是最外層是1, 裡面每個數字都是上方兩個數字的和 Pascal Triangle是(x + y)n每個項次的係數 Pascal Triangle提示: 如果把上圖左邊的空白拿掉則會變成下面的圖形, 除了最左邊和最右邊的數字是1以外,裡面的每一個數字都是其正上方和左上方數字的和.你可以用陣列來計算和儲存這些數字,然後再以上圖的格式印出來 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 Pascal Triangle提示: 回答下面問題,程式就寫完了 如果要用*號印出這種形狀的三角形,該怎麼寫? (雙層迴圈) 最左邊和最右邊如何表達? 內部每一個數字都是正上方和左上方數字,請問正上方和左上方這兩個位置的陣列索引如何表達? 每一個row前面要加上幾個空白才能讓圖形看起來是正三角形? Pascal Triangle #include stdio.h #include stdlib.h int main() { int n, i, j; unsi
文档评论(0)