Skip to content

数组

C++数组基础知识用法表格

操作 代码示例 说明
声明数组 int a[5]; 创建一个长度为5的整型数组,未初始化。
初始化数组 int b[3] = {1, 2, 3}; 声明时直接赋值,长度可省略:int b[] = {1, 2, 3};
访问元素 cout << b[0]; 输出下标为0的元素(第一个元素,值为1)。
修改元素 b[1] = 5; 将下标为1的元素改为5。
遍历数组(for循环) for(int i=0; i<3; i++) cout << b[i]; 输出所有元素,注意下标从0开始到长度-1

应用题及数组写法

题目1:输入5个数,输出它们的和

#include <iostream>
using namespace std;

int main() {
    int a[5], sum = 0;
    // 输入
    for(int i=0; i<5; i++) {
        cin >> a[i];
        sum += a[i]; // 累加
    }
    // 输出
    cout << "Sum: " << sum;
    return 0;
}

题目2:输出数组中的最大值

#include <iostream>
using namespace std;

int main() {
    int a[5] = {3, 9, 2, 7, 5};
    int max = a[0]; // 假设第一个是最大值
    for(int i=1; i<5; i++) {
        if(a[i] > max) max = a[i]; // 更新最大值
    }
    cout << "Max: " << max;
    return 0;
}

题目3:逆序输出数组

#include <iostream>
using namespace std;

int main() {
    int a[] = {1, 2, 3, 4, 5};
    for(int i=4; i>=0; i--) { // 下标从大到小
        cout << a[i] << " ";
    }
    return 0;
}

题目4:统计数组中某个数的出现次数

#include <iostream>
using namespace std;

int main() {
    int a[6] = {2, 3, 2, 5, 2, 1};
    int target = 2, count = 0;
    for(int i=0; i<6; i++) {
        if(a[i] == target) count++;
    }
    cout << "Count of " << target << ": " << count;
    return 0;
}

题目5:数组元素翻倍(修改原数组)

#include <iostream>
using namespace std;

int main() {
    int a[4] = {1, 2, 3, 4};
    for(int i=0; i<4; i++) {
        a[i] *= 2; // 每个元素乘2
    }
    // 输出结果
    for(int i=0; i<4; i++) {
        cout << a[i] << " ";
    }
    return 0;
}

关键提示

  1. 下标从0开始a[0]是第一个元素,a[n-1]是最后一个。
  2. 越界检查:避免访问a[-1]a[n],可能导致程序崩溃。
  3. 初始化习惯:局部数组未初始化时值是随机的,建议显式赋值(如int a[5] = {0};)。

通过这些例题,学生可以掌握数组的声明、遍历、修改和基本应用。后续可逐步过渡到二维数组或字符串(字符数组)。