一、实验目的

1、掌握C语言中数组的基本概念和操作方法。

2、学会使用C语言实现数组的排序算法。

3、提高编程能力和解决实际问题的能力。

二、实验内容

C语言基础实验——数组操作与排序

1、编写一个C语言程序,实现以下功能:

- 定义一个整型数组,存储用户输入的10个整数。

- 对数组进行冒泡排序。

- 输出排序后的数组。

2、编写一个C语言程序,实现以下功能:

- 对数组进行选择排序。

3、编写一个C语言程序,实现以下功能:

- 对数组进行插入排序。

4、编写一个C语言程序,实现以下功能:

- 对数组进行快速排序。

三、实验步骤

1、我们需要包含头文件stdio.h,以便使用标准输入输出函数。

#include <stdio.h>

2、接下来,我们定义一个整型数组,用于存储用户输入的10个整数,我们需要创建一个长度为10的整型变量数组,用于存储用户输入的每个整数。

int arr[10];
int input[10];

3、然后,我们需要编写一个循环,用于接收用户输入的10个整数,并将它们存储在input数组中,我们需要将input数组中的整数复制到arr数组中。

printf("请输入10个整数:");
for (int i = 0; i < 10; i++) {
    scanf("%d", &input[i]);
    arr[i] = input[i];
}

4、接下来,我们需要编写一个冒泡排序函数,用于对arr数组进行排序,冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来,每一轮循环结束后,最大的元素就会被交换到数组的末尾,重复这个过程,直到整个数组有序。

void bubble_sort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - 1 - i; j++) {
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

5、在主函数中,我们需要调用冒泡排序函数,对arr数组进行排序,并输出排序后的数组。

bubble_sort(arr, 10);
printf("排序后的数组:");
for (int i = 0; i < 10; i++) {
    printf("%d ", arr[i]);
}
printf("
");

6、根据以上步骤,我们可以编写其他排序算法(如选择排序、插入排序、快速排序等)的程序,并输出排序后的数组,这里不再赘述。

四、实验总结

通过本次实验,我们掌握了C语言中数组的基本概念和操作方法,学会了使用C语言实现数组的排序算法,我们还提高了编程能力和解决实际问题的能力,在今后的学习和工作中,我们将继续努力,不断提高自己的编程水平。