一维数组变量的初始化 用一对花括号把元素的初始值括起来。例如: ·inta[10]={1,2,3,4,5,6,7,8,9,10}: 初始化表中的值可以少于数组元素个数,不足 部分的数组元素初始化成0。例如: ·intb[10]={1,2,3,4};/后6个元素初始化为0 如果每个元素都进行了初始化,则数组元素个 数可以省略。例如 ·intc[]={1,2,3};/隐含着c由三个元素构成
一维数组变量的初始化 ◼ 用一对花括号把元素的初始值括起来。例如: • int a[10]={1,2,3,4,5,6,7,8,9,10}; ◼ 初始化表中的值可以少于数组元素个数,不足 部分的数组元素初始化成0。例如: • int b[10]={1,2,3,4}; //后6个元素初始化为0 ◼ 如果每个元素都进行了初始化,则数组元素个 数可以省略。例如: • int c[]={1,2,3}; //隐含着c由三个元素构成
维数组的操作 ■ 通常情况下,对数组类型数据的操作要通 过其元素来进行。 访问一维数组元素: <一维数组变量名>[<下标>] 。<下标>为整型表达式 。第一个元素的下标为:0 例如: 。inta[10];/数组a ·a[0]小、a[1]、…、a[9]/数组元素
一维数组的操作 ◼ 通常情况下,对数组类型数据的操作要通 过其元素来进行。 ◼ 访问一维数组元素: <一维数组变量名>[<下标>] • <下标>为整型表达式 • 第一个元素的下标为:0 例如: • int a[10]; //数组a • a[0]、a[1]、...、a[9] //数组元素
可把数组的每个元素看成是独立的变量。例 如 int a[10]; int sum=0,i月 for(i=0;i<10;i++)cin>>a[i门];/输入元素值 for(i=0;ik10;i++)sum+=a[i];/元素求和 不能对两个数组进行整体赋值,需要通过元 素来进行: inta[10],b[10]; a b;//Error for(inti=0;i<10;i++)a[i]=b[i订;//oK
◼ 可把数组的每个元素看成是独立的变量。例 如: int a[10]; int sum=0,i; for (i=0; i<10; i++) cin >> a[i]; //输入元素值 for (i=0; i<10; i++) sum += a[i]; //元素求和 ◼ 不能对两个数组进行整体赋值,需要通过元 素来进行: int a[10],b[10]; ..... a = b; //Error for (int i=0; i<10; i++) a[i] = b[i]; //OK
例:用一维数组实现求第n个费波那契(Fibonacci)数 #include <iostream> using namespace std; int main() const int MAX_N=40; int fibs[MAX_N]; int n; Cout<<"请输入n(1-"<<MAXN<<"):": cin >n; if (n MAX_N) {cout<<"n太大!应不大于"<<MAX_N<<endl; return -1; fibs[0]=fibs[1]=1;/初始化第1、2个费波那契数 for(inti=2;i<n;i++)/计算其它的费波那契数 fibs[i]fibs[i-1]fibs[i-2]; cout<<"第"<<n<<"个费波那契数是:"<<fibs[n-1]<<end; return 0;
例:用一维数组实现求第n个费波那契(Fibonacci)数 #include <iostream> using namespace std; int main() { const int MAX_N=40; int fibs[MAX_N]; int n; cout << "请输入n(1-" << MAX_N << "):"; cin >> n; if (n > MAX_N) { cout << "n太大! 应不大于" << MAX_N << endl; return -1; } fibs[0] = fibs[1] = 1; //初始化第1、2个费波那契数 for (int i=2; i<n; i++) //计算其它的费波那契数 fibs[i] = fibs[i-1] + fibs[i-2]; cout << "第" << n << "个费波那契数是:" << fibs[n-1] << endl; return 0; }
例:从键盘输入10个数,输出其中的最大值 const int N=10; int main() {inta[N]舫 for (int i=0;i<N;i++) cin >ali]; int max=a[0];/先假设第0个元素最大 for (int i=1;i<N;i++) if(a[i]>max)max=a[i订]; cout <max <endl;
例:从键盘输入10个数,输出其中的最大值 ...... const int N=10; int main() { int a[N]; for (int i=0; i<N; i++) cin >> a[i]; int max=a[0]; //先假设第0个元素最大 for (int i=1; i<N; i++) if (a[i] > max) max = a[i]; cout << max << endl; }