生活随笔
收集整理的這篇文章主要介紹了
怎样定义和引用一维数组,二维数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
s1,s2,s3,...,s30 ?右下角的數字稱為下標(subscript) ?一批具有同名的同屬性的數據就組成了一個數組(array),s就是數組名。 ??1.怎樣定義和引用一維數組 ?一維數組、二維數組、三維數組 ?a.怎樣定義一維數組 ?例如, ?int?a[10]; ?它表示定義了一個整型數組,?數組名為a,此數組有10個整型元素。 ?這10個元素是: ?a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9] ??定義一維數組的一般形式為 ?類型符?數組名[常量表達式]; ??如果在被調用的函數(不包括主函數)中定義數組,其長度可以是變量或非常量表達式。 ?void?func(int?n) ?{ ?????int?a[2*n];??????????????????... ?} ??b.怎樣引用一維數組元素 ?在定義數組并對其中各元素賦值后,就可以引用數組中的元素。 ?引用數組元素的表示形式為 ?數組名[下標] ?例如:a[0]就是數組?a?中序號為0的元素,它和一個簡單變量的地位和作用相似。 ?"下標"可以是整型常量或整行表達式。 ??對10個數組元素依次賦值為0,1,2,3,4,5,6,7,8,9,要求按逆序輸出。 ?#include?"stdafx.h" ???int?_tmain(int?argc,?_TCHAR*?argv[]) ?{ ?????int?i,a[10]; ?????for(i=0;i<=9;i++) ?????????a[i]=i; ?????for(i=9;i>=0;i--) ?????????printf("%d?",a[i]); ?????printf("\n"); ?????return?0; ?} ??c.一維數組的初始化 ?為了使程序簡潔,常在定義數組的同時,給各數組元素賦值,這稱為數組的初始化。 ??int?a[10]={0,1,2,3,4,5,6,7,8,9}; ??int?a[10]={0,1,2,3,4}; ??int?a[10]={0,0,0,0,0,0,0,0,0,0}; ?或 ?int?a[10]={0}; ??int?a[5]={1,2,3,4,5}; ?可以寫成 ?int?a[]={1,2,3,4,5}; ??d.一維數組程序舉例 ?用數組來處理求?Fibonacci?數列問題 ?#include?"stdafx.h" ???int?_tmain(int?argc,?_TCHAR*?argv[]) ?{ ?????int?i; ?????int?f[20]={1,1}; ?????for(i=2;i<20;i++) ?????????f[i]=f[i-2]+f[i-1]; ?????for(i=0;i<20;i++) ?????{ ?????????if(i%5==0)?printf("\n"); ?????????printf("%12d",f[i]); ?????} ?????printf("\n"); ?????return?0; ?} ??有10個地區的面積,要求對它們按由小到大的順序排列 ?#include?"stdafx.h" ???int?_tmain(int?argc,?_TCHAR*?argv[]) ?{ ?????int?a[10]; ?????int?i,j,t; ?????printf("input?10?numbers?:\n"); ?????for(i=0;i<10;i++) ?????????scanf_s("%d",&a[i]); ?????printf("\n"); ?????for(j=0;j<9;j++) ?????????for(i=0;i<9-j;i++) ?????????????if(a[i]>a[i+1]) ?????????????{t=a[i];a[i]=a[i+1];a[i+1]=t;} ?????????????printf("the?sorted?numbers?:\n"); ?????????????for(i=0;i<10;i++) ?????????????????printf("%d?",a[i]); ?????????????printf("\n"); ?????return?0; ?}? 2.怎樣定義和引用二維數組 ?二維數組常稱為矩陣(matrix)。把二維數組寫成行(column)和列(row)的排列形式, ?可以有助于形象化地理解二維數組的邏輯結構。 ?a.怎樣定義二維數組 ?float?pay[3][6]; ?以上定義了一個?float?型的二維數組,第一維有3個元素,第2維有6個元素。 ?每一維的長度分別用一堆括號包起來。 ??二維數組定義的一般形式為 ?類型說明符?數組名[常量表達式][常量表達式]; ??b.怎樣引用二維數組的元素 ?二維數組元素的表示形式為 ?數組名[下標][下標] ??c.二維數組的初始化 ??int?a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; ??int?a[3][4]={1,2,3,4,5,6,7,8,9,10,,11,12}; ??int?a[3][4]={{1},{5},{9}}; ?int?a[3][4]={{1},{},{9}}; ??例如: ?int?a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; ?與下面的定義等價: ?int?a[][4]={1,2,3,4,5,6,7,8,9,10,11,12}; ??int?a[][4]={{0,0,3},{},{0,10}}; ?數組各元素為 ?0???0???3???0 ?0???0???0???0 ?0???10??0???0 ??d.二維數組程序舉例 ?將一個二維數組行和列的元素互換,存在另一個二維數組中 ?#include?"stdafx.h" ???int?_tmain(int?argc,?_TCHAR*?argv[]) ?{ ?????int?a[2][3]={{1,2,3},{4,5,6}}; ?????int?b[3][2],i,j; ?????printf("array?a:\n"); ?????for(i=0;i<=1;i++) ?????{ ?????????for(j=0;j<=2;j++) ?????????{ ?????????????printf("%5d",a[i][j]); ?????????????b[j][i]=a[i][j]; ?????????} ?????????printf("\n"); ?????} ?????printf("array?b:\n"); ?????for(i=0;i<=2;i++) ?????{ ?????????for(j=0;j<=1;j++) ?????????????printf("%5d",b[i][j]); ?????????printf("\n"); ?????} ?????return?0; ?} ??有一個3*4的矩陣,要求編程序求出其中最大的那個元素的值,以及其所在的行號和列號 ?#include?"stdafx.h" ???int?_tmain(int?argc,?_TCHAR*?argv[]) ?{ ?????int?i,j,row=0,colum=0,max; ?????int?a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; ?????max=a[0][0]; ?????for(i=0;i<=2;i++) ?????????for(j=0;j<=3;j++) ?????????????if(a[i][j]>max) ?????????????{ ?????????????????max=a[i][j]; ?????????????????row=i; ?????????????????colum=j; ?????????????} ?????????????printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum); ?????return?0; ?}? ?
轉載于:https://blog.51cto.com/290692/1129317
總結
以上是生活随笔為你收集整理的怎样定义和引用一维数组,二维数组的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。