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);
-
淺談高職C語言課程的教學分析與設計
C語言作為學院網路技術專業的人門課程,旨在通過鍛鍊學生的邏輯思維,牆養學生在職業崗位中實際應用的能力.目前,該專業的學生畢業後主要從事網站開發和網路管理等方面的工作,而在這些領域幾乎都以C語言作為應用的開發工具.但從歷年教學實踐來看,教師往往付出的精力多...
-
2017全國計算機二級《C語言》考試題及答案
在備考複習階段,需通過大量試題練習,加深對考點的理解和掌握。以下是本站小編搜尋整理的一份全國計算機二級《C語言》考試題及答案,供參考練習,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網!一、選擇題1).我們所寫的每條C語句,經過編譯最...
-
C語言新人常見問題與錯誤
不知不覺,學習C語言也快一年了。雖然有C語言課,但是老師完全讓我們自己看書,在自學的過程中,和周圍同學交流中,以及後來在CSDN,BCCN,百度知道看帖回帖中,也看到許多C語言新人常遇到的問題與常犯的錯誤。不妨看看吧。以下僅供參考!對於完整的修正後的程式都在code::block...
-
如何在c語言中呼叫Linux指令碼
如何在c語言中呼叫Linux指令碼呢?你知道如何在c語言中呼叫Linux指令碼嗎?下面是小編為大家帶來的如何在c語言中呼叫Linux指令碼的知識,歡迎閱讀。一、引言對於沒有接觸過Unix/Linux作業系統的人來說,fork是最難理解的概念之一:它執行一次卻返回兩個值。fork函式是Unix系...