c语言用冒泡法对8个整数进行从大到小的排序
时间: 2023-11-05 17:15:30 浏览: 261
下面是使用冒泡排序法对8个整数从大到小进行排序的C语言代码:
```c
#include <stdio.h>
int main() {
int arr[] = {8, 3, 5, 1, 9, 2, 7, 4};
int len = sizeof(arr) / sizeof(int);
int i, j, temp;
// 冒泡排序
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序结果
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:`9 8 7 5 4 3 2 1`
相关问题
c语言用冒泡法对输入的8个整数进行由小到大排序。
在C语言中,你可以使用冒泡排序算法对一组整数进行排序。下面是使用冒泡排序的一个简单示例,假设我们有一个包含8个整数的一维数组:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) { // 遍历n-1次,因为最后一轮已经排好序了
for (int j = 0; j < n - 1 - i; j++) { // 内层循环比较并交换相邻元素
if (arr[j] > arr[j + 1]) { // 如果前一个数大于后一个数
int temp = arr[j];
arr[j] = arr[j + 1]; // 交换位置
arr[j + 1] = temp;
}
}
}
}
int main() {
int numbers[8]; // 假设这8个数字用户已输入
// 输入8个整数
for (int i = 0; i < 8; i++) {
scanf("%d", &numbers[i]);
}
int length = sizeof(numbers) / sizeof(numbers[0]); // 获取数组长度
bubble_sort(numbers, length); // 对数组进行排序
printf("Sorted array in ascending order:\n");
for (int i = 0; i < length; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,`bubble_sort`函数负责执行冒泡排序,首先外部循环控制遍历次数,内部循环则用于相邻元素的比较和交换。最后在`main`函数里,用户输入的8个整数会被读取并按照从小到大的顺序显示。
用c语言用冒泡法对10个数进行从大到小排序。
好的,下面是用C语言实现冒泡排序的代码:
```c
#include <stdio.h>
int main() {
int nums[10] = {5, 2, 7, 1, 9, 3, 8, 4, 6, 0};
int i, j, temp;
// 冒泡排序
for (i = 0; i < 10 - 1; i++) {
for (j = 0; j < 10 - 1 - i; j++) {
if (nums[j] < nums[j + 1]) {
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
// 打印排序后的数组
printf("排序后的数组:\n");
for (i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
输出结果为:
```
排序后的数组:
9 8 7 6 5 4 3 2 1 0
```
在上面的代码中,我们首先定义了一个包含10个整数的数组nums,并初始化了它的值。然后使用两个循环来实现冒泡排序,外层循环控制比较的轮数,内层循环控制每轮比较的次数。如果相邻的两个数大小顺序不对,则交换它们的位置。最后打印排序后的数组。
阅读全文