C语言用冒泡法对10个数进行从大到小排序。
时间: 2023-10-24 10:15:03 浏览: 163
好的,下面是使用冒泡排序对10个数进行从大到小排序的C语言代码:
```
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] < arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[10] = {5, 8, 2, 10, 3, 1, 6, 7, 4, 9};
int i;
printf("原始数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
bubbleSort(arr, 10);
printf("\n排序后的数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
解释一下代码:
首先定义了一个 `bubbleSort()` 函数用来实现冒泡排序。在函数中,第一个循环是控制排序轮数的,因为每一轮冒泡都会将当前未排序的最大值放到正确的位置上,因此最多只需要进行 n-1 轮排序。第二个循环是进行冒泡排序的核心,每一轮都会将当前未排序的最大值冒泡到数组的最前面。如果当前元素比后面的元素小,则交换它们的位置。交换操作使用了一个中间变量 temp。
在 `main()` 函数中,首先定义了一个长度为 10 的数组,然后输出原始数组。接着调用 `bubbleSort()` 函数对数组进行从大到小排序,最后输出排序后的数组。
希望这个回答能够解决你的问题!
阅读全文