用冒泡法对10个数由大到小排序
时间: 2023-10-24 11:14:24 浏览: 51
好的,以下是冒泡排序法的实现代码(用C++语言描述):
```cpp
#include<iostream>
using namespace std;
int main() {
int nums[10] = {5, 2, 7, 3, 9, 4, 6, 1, 8, 0}; // 待排序的数组
int n = 10; // 数组元素个数
// 冒泡排序
for(int i = 0; i < n-1; i++) { // 外层循环控制排序轮数
for(int j = 0; j < n-i-1; j++) { // 内层循环控制每轮比较次数
if(nums[j] < nums[j+1]) { // 比较相邻两个元素的大小
swap(nums[j], nums[j+1]); // 如果前一个元素比后一个元素小,则交换它们的位置
}
}
}
// 输出排序后的结果
cout << "排序后的结果为:" << endl;
for(int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
排序后的结果为:
9 8 7 6 5 4 3 2 1 0
```
以上就是用冒泡法对10个数由大到小排序的实现过程。
相关问题
C语言用冒泡法对10个数进行从大到小排序。
好的,下面是使用冒泡排序对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()` 函数对数组进行从大到小排序,最后输出排序后的数组。
希望这个回答能够解决你的问题!
C语言 用冒泡排序法对10个整数由小到大排序
好的,下面是 C 语言代码实现冒泡排序法对10个整数由小到大排序:
```c
#include <stdio.h>
int main() {
int arr[10] = {6, 3, 8, 2, 9, 1, 5, 4, 7, 0};
int temp, i, j;
// 冒泡排序
for (i = 0; i < 10 - 1; i++) {
for (j = 0; j < 10 - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序结果
printf("排序后的数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
代码中,我们定义了一个包含 10 个元素的整型数组 `arr`,并初始化了其中的元素。然后使用两层循环嵌套实现冒泡排序,最后输出排序后的结果。
希望能对您有所帮助!