案例分析
首先将每位歌手的得分储存到一维数组中,其次构建一个排序函数,使用函数实现对一维数组的排序,因此需要将一维数组作为函数函数参数传入函数。
必备知识
- 一维数组作为函数参数
在程序中,为了方便对数组的操作,经常会定义一些操作数组的功能函数,这些函数将数组作为函数参数,在数组作为函数参数时,必须要保证形参与实参的数组是相同类型,且有明确的数组说明。如数组维度,数组大小等。
例如下面两种参数类型:
func(int arr[5]);
func(int arr[],int n);
这两种参数类型都指定了数组的维度和数组大小,第二行代码中参数n代表数组的长度。
需要注意的是,数组作为函数参数时,传递的就是数组所在的内存块地址,形参与实参操作的是同一块内存。在形参中改变数组中的元素,实参的数组也会改变。
- 冒泡排序法
冒泡排序就是不断地比较数组中相邻的两个元素,轻小者上浮,较大者向下沉,整个过程和水中起泡上升的原理相似。
具体如下:
(1)从第一个元素开始,依次向相邻的两个元素进行两两比较,直到最后两个元素完成比较,如果前一个元素比后一个元素大,则交换位置,整个过程完成后,数组中的最后一个元素就是最大值。
(2)除了最后一个元素,将剩余的元素继续进行两两比较,将数组中第二大的数放到倒数第二的位置
(3)以此类推(这个时候我想到了递归)
案例实现
1,案例设计
- 自定义一个实现冒泡排序算法的函数,函数中的参数为数组名和数组大小
- 在主函数中定义一个一维数组来存储各位歌手的得分
- 使用for循环分别录入各位歌手的的得分
- 试用冒泡排序算法函数对得分进行排序
- 使用for循环在屏幕上输出排序的结果 </

该博客介绍了如何使用C语言实现冒泡排序算法来对校园十大歌手的得分进行排序。首先讲解了一维数组作为函数参数的知识,强调了形参和实参操作同一内存块的特点。接着详细阐述了冒泡排序的工作原理,通过两两比较和交换,逐步将最大元素冒泡到数组末尾。最后,提供了完整的代码实现,包括主函数中输入歌手得分、调用排序函数以及输出排序结果的步骤。
&spm=1001.2101.3001.5002&articleId=119650248&d=1&t=3&u=9bbc0bc1eb92436ca1853a630c360848)
3656

被折叠的 条评论
为什么被折叠?



