复习c语言数组

一、数组的定义和初始化

1.定义数组

数组的定义形式如下:

类型 数组名[数组长度];

例如,定义一个存储5个整数的数组:

int arr[5];

这个定义表示arr是一个包含5个整数元素的数组。数组的索引从0开始,到数组长度减1(即从arr[0]到arr[4])。

2.初始化数组 可以在定义数组时初始化数组的元素:

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

也可以在定义后逐个赋值:

int arr[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;

如果没有初始化,数组中的元素值是未定义的(通常为垃圾值)。

二、访问数组元素

数组元素通过索引来访问:

arr[0]   // 访问第一个元素
arr[1]   // 访问第二个元素

三、数组的常见操作

1.遍历数组 你可以使用循环遍历数组,访问每一个元素:

for (int i = 0; i < 5; i++) {
    printf("arr[%d] = %d\n", i, arr[i]);
}

2.数组的求和 可以通过循环累加数组中的元素:

int sum = 0;
for (int i = 0; i < 5; i++) {
    sum += arr[i];
}
printf("数组元素的总和是:%d\n", sum);

3.查找数组中的最大值 通过遍历数组找出最大值:

int max = arr[0];
for (int i = 1; i < 5; i++) {
    if (arr[i] > max) {
        max = arr[i];
    }
}
printf("数组中的最大值是:%d\n", max);

四、数组的例题

例题1:求数组的平均值

题目:给定一个包含5个整数的数组,计算数组元素的平均值。

代码:

#include 

int main() {
    int arr[5] = {10, 20, 30, 40, 50};
    int sum = 0;
    float average;

    for (int i = 0; i < 5; i++) {
        sum += arr[i];
    }

    average = sum / 5.0;  // 使用浮点数除法
    printf("数组元素的平均值是:%.2f\n", average);

    return 0;
}

解释:

我们先通过循环计算数组元素的和sum。
然后用sum / 5.0来计算平均值。注意这里使用了5.0,这样保证了结果是浮点数。
例题2:反转数组
题目:给定一个数组,反转数组中的元素。
代码:

#include 

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

    printf("原数组:");
    for (int i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }

    // 反转数组
    for (int i = 0; i < 5 / 2; i++) {
        temp = arr[i];
        arr[i] = arr[5 - i - 1];
        arr[5 - i - 1] = temp;
    }

    printf("\n反转后的数组:");
    for (int i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

解释:
使用一个temp变量来交换数组中对应位置的元素,直到反转完数组。

你可能感兴趣的:(算法,数据结构,排序算法)