//采用冒泡法对选秀节目中10位评委所给出的分数排序。
冒泡法:从首元素开始两两比较,score[j] 和 score[j + 1],若score[j] > score[j + 1],
则score[j] 与 score[j + 1]进行交换,完成交换需要一个中间参数n,
n = score[j]; //把原score[j]的值赋给中间参数n
score[j] = score[j + 1]; //把score[j+1]的值赋给score[j]
score[j + 1] = n; //把中间参数n中的原score[j]赋给score[j+1]
过程:经过第一轮的两两比较,score[10]数组中的最大值就被交换到了最后一个元素score[9]中;
因为第一轮的比较已经排出最大数,所以第二轮两两比较只需比较除score[9]的元素,即[0]~[8];
第三轮则两两比较[0]~[7],以此类推。N个元素需要N-1轮排序。
#include<stdio.h>
int main()
{
int i = 0;
double score[10];
printf("请输入10位评委的分数:");
while (i < 10)
{
scanf_s("%lf", &score[i]);
i++;
}
int j = 0, k = 0;
double n = 0; //定义一个n作为中间参数
for (i = 0; i < 9; i++) //第一层循环,控制轮数
{
fo