实验6_数组_一维数组

【状态:    内部  已结束
开始时间: 2025-11-14 15:00:00
  
结束时间: 2025-11-17 00:00:00
  
服务器时间:

简介

比赛名称: 实验6_数组_一维数组

比赛类型: 内部(受邀或输入密码才能参赛)

比赛状态: 已结束

比赛时间: 开始于 2025-11-14 15:00:00,至 2025-11-17 00:00:00结束。

公告

一、实验目的

1.数组的基本概念:掌握一维数组的定义、初始化和内存结构;理解数组下标的作用和数组元素的访问方式;认识数组在内存中的连续存储特性。

2.数组的基本操作:熟练进行数组的输入、输出、遍历操作;掌握数组元素的赋值、修改、查找等基本操作;理解数组长度与有效数据个数的区别。

3. 数组应用能力:能够使用数组解决实际的数据处理问题;掌握常见的数组算法(排序、查找、统计等);培养使用数组进行批量数据处理的能力。

二、相关知识点

1.数组的定义与初始化

// 数组定义

int scores[10];           // 定义包含10个整数的数组

float temperatures[7];    // 定义包含7个浮点数的数组

// 数组初始化

int numbers[5] = {1, 2, 3, 4, 5};        // 完全初始化

int data[10] = {1, 2, 3};                // 部分初始化,其余为0

int arr[] = {1, 3, 5, 7, 9};             // 自动确定数组大小

2.数组元素的访问和操作

// 下标访问(从0开始)

int arr[5] = {10, 20, 30, 40, 50};

arr[0] = 100;    // 修改第一个元素

printf("%d", arr[2]);  // 输出第三个元素:30

// 数组遍历

for(int i = 0; i < 5; i++) {

    printf("%d ", arr[i]);

}

3.数组的输入输出

// 从键盘输入数组

int n, arr[100];

printf("请输入元素个数: ");

scanf("%d", &n);

for(int i = 0; i < n; i++) {

    printf("请输入第%d个元素: ", i+1);

    scanf("%d", &arr[i]);

}

// 输出数组

for(int i = 0; i < n; i++) {

    printf("%d ", arr[i]);

}

4.注意事项

(1)数组越界:确保下标在[0, 数组大小-1]范围内

(2)有效数据管理:使用变量记录数组中实际存储的数据个数

(3)内存分配:避免定义过大的数组导致栈溢出

(4)数组名特性:数组名代表数组首元素的地址

三、典型实验题目

1.输入10个整数,求最大值、最小值和平均值

2.将数组元素逆序存放

3.在有序数组中插入一个元素,保持有序性

4.统计数组中各分数段的人数

5.删除数组中指定的元素

6.合并两个有序数组

7.查找数组中的重复元素

8.数组元素循环右移问题