当前位置:   article > 正文

05 - C++学习笔记: 一维数组和多维数组_c++倒序输出数组

c++倒序输出数组

数组是一种非常重要的数据结构,它允许用连续的方式存储和访问一组相同类型的数据。无论是存储学生成绩、处理图像数据还是解决复杂的数学问题,数组都发挥着重要的作用。
在这里插入图片描述

1️⃣ 一维数组的定义与引用

倒序输出

在C++中,一维数组是一种存储相同类型数据的连续内存块。可以通过下标来访问数组中的元素,下标从0开始计数。

#include <iostream>

int main() {
    int arr[] = {1, 2, 3, 4, 5};

    // 倒序输出数组元素
    for (int i = 4; i >= 0; i--) {
        std::cout << arr[i] << " ";
    }

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

输出结果:

5 4 3 2 1
  • 1

在上述案例中,定义了一个整型数组arr,并使用for循环从后往前输出数组中的元素,实现了倒序输出。

✨ 数组定义语法格式

一维数组的定义语法格式如下:

数据类型 数组名[数组长度];
  • 1

其中,数据类型表示数组中元素的类型,数组名是标识数组的名称,数组长度表示数组中元素的数量。

✨ 长度与下标的关系

在C++中,一维数组的长度是指数组中元素的数量。数组的下标从0开始,最大下标为数组长度减1。

#include <iostream>

int main() {
    int arr[] = {10, 20, 30, 40, 50};

    std::cout << "数组长度: " << sizeof(arr) / sizeof(arr[0]) << std::endl;
    std::cout << "第一个元素: " << arr[0] << std::endl;
    std::cout << "最后一个元素: " << arr[sizeof(arr) / sizeof(arr[0]) - 1] << std::endl;

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

输出结果:

数组长度: 5
第一个元素: 10
最后一个元素: 50
  • 1
  • 2
  • 3

在上述案例中,定义了一个整型数组arr,通过sizeof运算符计算数组长度,并输出数组的第一个元素和最后一个元素。

✨ 数组类型

数组可以存储各种数据类型的元素,例如整型、浮点型、字符型等。

#include <iostream>

int main() {
    int intArray[5] = {1, 2, 3, 4, 5};
    float floatArray[3] = {1.1, 2.2, 3.3};
    char charArray[4] = {'A', 'B', 'C', 'D'};

    std::cout << "整型数组第一个元素: " << intArray[0] << std::endl;
    std::cout << "浮点型数组第二个元素: " << floatArray[1] << std::endl;
    std::cout << "字符型数组第三个元素: " << charArray[2] << std::endl;

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

输出结果:


整型数组第一个元素: 1
浮点型数组第二个元素: 2.2
字符型数组第三个元素: C
  • 1
  • 2
  • 3
  • 4

在上述案例中,分别定义了整型数组intArray、浮点型数组floatArray和字符型数组charArray,并输出了它们的元素。

✨ 数组初始化的多个方式

在C++中,可以使用多种方式来初始化数组,包括使用大括号列表初始化、逐个赋值和部分赋值。

#include <iostream>

int main() {
    int arr1[] = {1, 2, 3, 4, 5};  // 大括号列表初始化
    int arr2[5];
    arr2[0] = 10;  // 逐个赋值
    arr2[1] = 20;
    arr2[2] = 30;
    arr2[3] = 40;
    arr2[4] = 50;
    int arr3[5] = {1, 2, 3};  // 部分赋值

    std::cout << "arr1的第一个元素: " << arr1[0] << std::endl;
    std::cout << "arr2的最后一个元素: " << arr2[4] << std::endl;
    std::cout << "arr3的第三个元素: " << arr3[2] << std::endl;

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

输出结果:

arr1的第一个元素: 1
arr2的最后一个元素: 50
arr3的第三个元素: 3
  • 1
  • 2
  • 3

在上述案例中,展示了使用大括号列表初始化、逐个赋值和部分赋值的方式来初始化数组。

✨ 一维数组的赋值与遍历

可以使用循环结构来对一维数组进行赋值和遍历。

#include <iostream>

int main() {
    int arr[5];
    int sum = 0;

    // 数组赋值
    for (int i = 0; i < 5; i++) {
        std::cout << "请输入第" << i + 1 << "个元素: ";
        std::cin >> arr[i];
    }

    // 数组遍历和求和
    for (int i = 0; i < 5; i++) {
        std::cout << "第" << i + 1 << "个元素: " << arr[i] << std::endl;
        sum += arr[i];
    }

    std::cout << "数组元素的和为: " << sum << std::endl;

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

在上述案例中,首先使用for循环对数组进行赋值,然后再使用for循环遍历数组并计算数组元素的和。

2️⃣ 多维数组的定义与运用

多维数组是指包含多个维度的数组,例如二维数组、三维数组等。在C++中,多维数组的定义和使用与一维数组类似。


#include <iostream>

int main() {
    int matrix[3][3] = {{1, 2, 3},
                        {4, 5, 6},
                        {7, 8, 9}};

    std::cout << "二维数组的元素: " << std::endl;
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            std::cout << matrix[i][j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

输出结果:

二维数组的元素:
1 2 3 
4 5 6 
7 8 9
  • 1
  • 2
  • 3
  • 4

在上述案例中,定义了一个二维数组matrix,并使用嵌套的for循环遍历二维数组并输出其中的元素。

3️⃣ 数组经典应用例题训练

✨ 案例1: 数组元素求和

编写一个程序,要求用户输入一个整型数组,计算并输出数组元素的和。

#include <iostream>

int main() {
    const int SIZE = 5;
    int arr[SIZE];
    int sum = 0;

    std::cout << "请输入" << SIZE << "个整数:" << std::endl;
    for (int i = 0; i < SIZE; i++) {
        std::cin >> arr[i];
        sum += arr[i];
    }

    std::cout << "数组元素的和为: " << sum << std::endl;

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在上述案例中,首先定义了一个大小为5的整型数组arr,并使用for循环接收用户输入的整数,并累加求和。

✨ 案例2: 查找数组元素

编写一个程序,要求用户输入一个整型数组和一个目标值,判断目标值是否在数组中存在。

#include <iostream>

int main() {
    const int SIZE = 5;
    int arr[SIZE];
    int target;
    bool found = false;

    std::cout << "请输入" << SIZE << "个整数:" << std::endl;
    for (int i = 0; i < SIZE; i++) {
        std::cin >> arr[i];
    }

    std::cout << "请输入目标值: ";
    std::cin >> target;

    for (int i = 0; i < SIZE; i++) {
        if (arr[i] == target) {
            found = true;
            break;
        }
    }

    if (found) {
        std::cout << "目标值存在于数组中" << std::endl;
    } else {
        std::cout << "目标值不存在于数组中" << std::endl;
    }

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

在上述案例中,首先定义了一个大小为5的整型数组arr,然后接收用户输入的整数,并使用for循环遍历数组,判断目标值是否在数组中存在。

4️⃣ 数组与循环综合复习

数组与循环是C++中非常重要的概念,

它们经常被结合使用,进行复杂的问题解决。

✨ 案例: 输出九九乘法表

#include <iostream>

int main() {
    const int SIZE = 9;

    for (int i = 1; i <= SIZE; i++) {
        for (int j = 1; j <= i; j++) {
            std::cout << j << " * " << i << " = " << i * j << "\t";
        }
        std::cout << std::endl;
    }

    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在上述案例中,使用嵌套的for循环来输出九九乘法表。外层循环控制乘法表的行数,内层循环控制每行的列数,输出每个乘法表达式的结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/902627

推荐阅读
相关标签