C语言(选择排序法)将有8个元素的实型数组按从大到小排序后输出。(数组元素执行时输入,输出小数点后1位)
时间: 2024-01-27 17:03:14 浏览: 35
以下是使用选择排序法进行实型数组排序的示例代码:
```c
#include <stdio.h>
void selection_sort(double arr[], int len) {
int i, j, max_idx;
double temp;
for(i = 0; i < len - 1; i++) {
max_idx = i;
for(j = i + 1; j < len; j++) {
if(arr[j] > arr[max_idx]) {
max_idx = j;
}
}
temp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
}
int main() {
double arr[8];
int i;
printf("请输入8个实数:\n");
for(i = 0; i < 8; i++) {
scanf("%lf", &arr[i]);
}
int len = sizeof(arr) / sizeof(double);
selection_sort(arr, len);
printf("按从大到小排序后的实数为:\n");
for(i = 0; i < 8; i++) {
printf("%.1f ", arr[i]);
}
printf("\n");
return 0;
}
```
在上述代码中,我们定义了一个 `selection_sort` 函数,该函数接收一个实型数组和数组的长度作为参数,然后使用选择排序算法将数组中的元素按从大到小排序。主函数中首先从用户输入中获取一个长度为8的实型数组,调用 `selection_sort` 函数进行排序,最后输出排序后的数组元素。需要注意的是,在输出数组元素时需要保留小数点后1位,使用 `printf` 函数时需要使用格式化字符串 `%.1f`。