用c语言 输入三个数 按从小到大排序输出 保留一位小数
时间: 2024-10-15 12:06:40 浏览: 38
在C语言中,你可以使用标准库函数`qsort`对数组进行排序,并配合`printf`格式化字符串来控制输出的小数位数。下面是一个简单的示例程序,它会让用户输入三个浮点数,然后按升序排序并输出:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h> // 为了使用fabs() 函数计算绝对值
// 定义比较函数,用于qsort()
int compare(const void *a, const void *b) {
float num1 = *(float*)a;
float num2 = *(float*)b;
return (num1 < num2) ? -1 : ((num1 > num2) ? 1 : 0);
}
void sort_floats(float arr[], int n) {
qsort(arr, n, sizeof(float), compare); // 排序
}
int main() {
float numbers[3];
printf("请输入三个数字(用空格隔开): ");
for (int i = 0; i < 3; i++) {
scanf("%f", &numbers[i]);
}
sort_floats(numbers, 3);
printf("按照升序排序后的结果(保留一位小数):\n");
for (int i = 0; i < 3; i++) {
printf("%.1f ", numbers[i]); // 使用%.1f格式控制输出一位小数
}
printf("\n");
return 0;
}
```
当你运行这个程序时,会提示你输入三个数字,然后它们会被排序并只保留一位小数显示出来。
阅读全文