输入10个数,用“冒泡法”对10个数排序(由小到大)。冒泡法的基本思想:通过相邻两个数之间的比较和交换,使(数值)较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底部。就像水底的气泡一样逐渐向上冒,故而得名。用C语言写出
时间: 2023-09-23 07:05:41 浏览: 439
### 回答1:
答案:
```
#include<stdio.h>
int main(){
int nums[10];
int i,j,temp;
printf("请输入10个数: ");
for(i=0;i<10;i++){
scanf("%d",&nums[i]);
}
for(i=0;i<9;i++){
for(j=0;j<9-i;j++){
if(nums[j]>nums[j+1]){
temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
printf("冒泡排序后的数组为: ");
for(i=0;i<10;i++){
printf("%d ",nums[i]);
}
return 0;
}
```
### 回答2:
冒泡排序是一种简单的排序算法,它依次比较相邻的两个数,如果它们的顺序错误就交换位置,这样一轮比较下来,最大(或最小)的数就会沉到最底部(或最顶部),然后再进行下一轮比较。重复这个过程,直到所有的数都有序。
下面是用C语言实现冒泡排序的代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 交换相邻两个数
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[10]; // 定义一个可以存放10个数的数组
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]); // 输入10个数
}
bubbleSort(arr, 10); // 调用冒泡排序函数
printf("排序后的数列为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]); // 输出排序后的数列
}
return 0;
}
```
运行以上代码,程序会提示输入10个数,然后输出排序后的数列。例如,输入:5 2 9 3 1 8 6 4 7 10,输出:1 2 3 4 5 6 7 8 9 10。这就是通过冒泡排序将10个数从小到大排序的结果。
### 回答3:
冒泡排序是一种简单的排序算法,其基本思想是通过多次遍历数组来依次比较相邻的两个元素,并根据需要进行交换,以达到排序的目的。以下是使用C语言实现冒泡排序的代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[10];
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, 10);
printf("排序后的数组:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
上述代码中,首先定义了一个名为`bubbleSort`的函数,该函数传入一个整型数组和数组长度`n`。在函数内部通过两层嵌套的循环对数组进行遍历,并通过比较和交换的方式将较大的数逐渐向数组的末尾移动。最后,主函数中输入10个数,调用`bubbleSort`函数对这10个数进行排序,并输出排序后的结果。
阅读全文