C語言數組方法

來源:文萃谷 1.89W

c語言數組方法有很多種,不知道大家都熟悉了沒有呢,下面一起去了解一下C語言數組方法吧!

C語言數組方法

1. 輸入元素的值:

int i,a [10];

for ( i = 0; i < 9; i ++ );

a[i] = i;

(1) 正序排列: (2)倒序排列:

for ( i = 0; i < 10; i ++) for ( i = 9; i >= 0; i -- ) printf (“%d”, a[i]);printf(“%d”, a[i]);

2. 初始化元素的值:

(1) 在定義時,將數組元素一次放在一對花括號裏;

eg: int a[10]={1,2,3,4,5,6,7,8,9,0};

(2)可以只給一部分元素賦值:

eg: int a[10]={1,3};

(3)使數組全部元素為0:

eg: int a[10]={0,0,0,0,0,0,0,0,0,0};或者 int a[10]={0};

(4) 在對全部元素賦初值的時候,由於元素數已經確定,因此,可以不指定數組長度。(注:數組長度與提供初值個數不相同時,則長度不可以省略。)

3. 巧妙地將兩個元素列在一個循環中輸出:(用for循環處理fobonacci數列); eg:int f[20]={1,1};

for(i=2;i<20;i++)

f[i]=f[i-1]+f[i-2];

4. 數列Fobonacci數列核心:

int f[20]={1,1};

for(i=2;i<20;i++)

f[i]=f[i-1]+f[i-2];

5.換行操作:

for (i=0;i<=20;i++) /*當然也可以在for循環中處理,直接將 {if (i%5= =0)printf(“ ”); if (i%5= =0)printf(“ ”);插入換行*/ Printf(“%12ld”,f[i]);

}

6. 起泡法:

int a[10];

for (j=0;j<9;j++) /*進行n-1趟比較*/

for (i=0;i<9-j;i++) /*在j趟比較中,比較n-1次*/

if(a[i]>a[i+i])/*由小到大排列,if (a[i]

7. 初始化二維數組:

分行給二維數組賦初值;

將所有的元素都寫在一個花括號裏;

對部分元素賦值:

1) int a[3][3]={{3},{5},{9}};只講0列元素賦值

2) int a[3][3]={{1}, {0,6},{0,0,11}}; 對部分元素賦值,對非0元素少使用方便

3) int a[3][3]={{1}, {5,6}}; 只對幾行元素賦值

4) int a[3][3]={{1}, {},{9}}; 對第二行元素賦值

對全部元素賦值可以省略一維長度:

對部分元素賦初值,在省略一位長度時,應分行賦值:

8. 二維數組的輸入輸出:

輸入:直接定義

輸出:

for (i=0;i<=2;i++)

{for (j=0;j<=1;j++)

printf (“%5d”,b[i][j]);

printf (“ ”);

}

9. 二維數組的行列轉換:

b[j][i]=a[i][j];

10. 數組中求最大值並輸出行列號:

Eg: int i,row=0,colum=0,max;

int a[3][4]={1,2,3,4,5,6,,7,8,9,10,11,12};

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;}

11. 字符數組的初始化方法:

逐個字符初始化:

eg:char c[10]={I, , a, m, , h, a, p, p, y};

1) 在定義字符數組時,不初始化,則數組中的各元素的之不可預料;

2) 如果花括號中提供的初值個數(即字符個數)大於數組的長度,則按語法錯誤

處理;

3) 如果花括號中提供的`初值個數(即字符個數)小於數組的長度,其餘元素自動

定為空字符即();

如果提供的初值個數與數組長度相同,則在定義時可以省略數組長度; 也可以定義一個二維數組:

eg:char diamond[5][5]={{ },{ },{ },{ },{ }}; 用字符串常量,使字符數組初始化:

eg: char c[ ]={“I am happy”};或 char c[ ]= “I am happy”;

12. 字符數組的輸出:

一維: 二維:

for (i=0;i<=11;i++) for (i=0;i<=11;i++)

printf (“%c”,c[i]); for (i=0;i<5;i++)

printf(“ ”);printf(“%c”,diamond[i][j]);

13. 字符數組輸出最大值:

eg:if (strcmp(string,str[1]>0)

strcpy (string,str[0]>0);

else

strcpy (string,str[1]);

if (strcmp (str[2],string>0)

strcpy (string,str[2]);

printf(“%s”,string);

熱門標籤