用c语言输入:输入三个实数(测试数据均只有一位小数)。 输出:按照从小到大顺序输出之前输入的三个实数,以一个西文空格间隔,且每个实数小数点后保留1位。
时间: 2024-09-23 19:16:13 浏览: 29
在C语言中,你可以通过以下步骤实现这个功能:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义结构体存储实数
typedef struct {
double value;
} RealNumber;
// 比较两个实数并交换它们的顺序
void swap<RealNumber*>(RealNumber* a, RealNumber* b) {
double temp = a->value;
a->value = b->value;
b->value = temp;
}
int main() {
// 创建三个RealNumber类型的变量
RealNumber num1, num2, num3;
// 输入三个实数,并保留一位小数
printf("请输入第一个实数(一位小数):");
scanf("%lf", &num1.value);
printf("请输入第二个实数(一位小数):");
scanf("%lf", &num2.value);
printf("请输入第三个实数(一位小数):");
scanf("%lf", &num3.value);
// 排序
if (num1.value > num2.value) {
swap(&num1, &num2);
}
if (num2.value > num3.value) {
swap(&num2, &num3);
}
// 输出排序后的结果
printf("%.1f ", num1.value); // 小数点后保留一位
printf("%.1f ", num2.value);
printf("%.1f\n", num3.value);
return 0;
}
```