最近出差回來了,繼續把基礎夯實,
一維陣列
陣列的作用:
如果你有一組類似的資料,一個個起名字麻煩也沒意義,用個陣列保存它們,用起來省事又方便,
定義:
型別名 陣列名[常量運算式];
如:
int a[8];
它定義了一個有8個元素的陣列,下標從0-7
初始化:int a[8]={0,1,2,3,4,5,6,7};
8個元素分別初始化成0,1,2,3,4,5,6,7
也可以:int a[8]={3};
它只把a[0]初始化成3,后面的a[1]到a[7]系統默認初始化為0
程式1
求任意5個數中的最大數
// 8_1 求任意五個數中的最大數 #include <stdio.h> int main() { int a[5], i, max; //定義含五個元素陣列的整形陣列,i 是下標,max 是最大數, //從鍵盤輸入五個數 for (i = 0;i<5;i++) { scanf_s("%d", &a[i]); } //找出最大的數 max = a[0]; for (i = 1;i<5;i++) { if (max < a[i])max = a[i]; //比max值大就賦值給 max } printf("%d\n", max); }
一般在陣列前面有型別說明符的,如double a[5]就是“定義”陣列,反之,前面沒有型別說明符的,如n=a[5]、a[5]=n就是使用陣列,
定義陣列時,方括號里只允許使用常量,不允許出現變數,如:
int n=5;
int a[n];
這是非法的陣列定義,
陣列在使用時就不允許使用 a[8]={0} 這樣的方式來給陣列賦值,只有使用回圈來給陣列元素一個一個地賦值,
定義陣列時,方括號中可以是空的,如:
int a[]={1,2,3};
這時電腦會自動計算出a陣列有3個元素,會把這行代碼翻譯成int a[3]={1,2,3};再執行,
這種陣列一定要用花括號初始化,比如
int a[];
這是非法的定義,
程式2
將陣列中的值按逆序重新存放,例如,原來順序為5、8、9、4、6,調整以后為6、4、9、8、5,
//程式2 //將陣列中的值按逆序重新存放,例如,原來順序為5、8、9、4、6,調整以后為6、4、9、8、5, #include <stdio.h> int main() { int a[5] = { 5,8,9,4,6 }; int b,c; //交換用的臨時變數 for (int i=0;i<= 5/2;i++) //陣列執行兩次互換 { b = a[i]; a[i] = a[5 - i - 1]; a[5 - i - 1] = b; } for (int i = 0; i < 5; i++) //遍歷輸出 { printf("%d\t", a[i]); } }
程式3
求某數列的前40個數:1,1,2,3,5,8,13,21…
//8-3:求某數列的前40個數:1,1,2,3,5,8,13,21… #include <stdio.h> main() { int i, a[40]; //回圈變數,陣列 a[0] = a[1] = 1; //前兩項不需要計算,直接初始化為1 for (i = 2; i < 40; i++) { a[i] = a[i - 2] + a[i - 1]; } for (i = 0; i < 40; i++) { printf("%d\t", a[i]); } }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/295937.html
標籤:C
