c语言任意输入5个浮点数存入到变量a,b,c,d,e变量里, 然后重新按从大到小排序, 并显示出来
时间: 2024-11-18 21:18:30 浏览: 25
在C语言中,你可以这样做:
首先,需要包含头文件`stdio.h`来使用输入输出功能,以及`stdlib.h`库中的`qsort`函数来进行快速排序。以下是完整的代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义比较函数,用于排序
int compare(const void *a, const void *b) {
return (*(float*)b - *(float*)a);
}
void input_floats(float a[], int n) {
printf("请输入 %d 个浮点数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%f", &a[i]);
}
}
void sort_and_display(float a[], int n) {
qsort(a, n, sizeof(float), compare); // 使用qsort进行排序
printf("按从大到小排序的结果是:\n");
for (int i = 0; i < n; i++) {
printf("%.2f ", a[i]); // 输出浮点数,保留两位小数
}
printf("\n");
}
int main() {
float numbers[5]; // 定义数组储存浮点数
int size = 5;
input_floats(numbers, size);
sort_and_display(numbers, size);
return 0;
}
```
在这个程序中,`input_floats`函数用于获取用户输入,`compare`函数定义了排序规则,`sort_and_display`函数则负责排序并展示结果。
阅读全文