题目描述 从键盘输入3个实数a, b, c,通过比较交换,将最小值存储在变量a中,最大值存储在变量c中,中间值存储在变量b中,并按照从小到大的顺序输出这三个数a, b, c。
末尾输出换行。
输入 输入以空格分隔的三个实数
输出 按照从小到大的顺序输出这三个实数,中间以空格分隔,最小值在前,最大值在后。小数点后保留2位小数。 注意末尾的换行。样例输入 3 7 1
样例输出
1.00 3.00 7.00
问题分析
本题实质上是一道排序问题,但是也可以朴素解决,本解采用朴素方法对三个输入的数依次比较大小,按照从小到大的顺序输出。
注意
输出的时候小数点后保留两位小数。
参考代码
#include <stdio.h>
int main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if(a>b)
{
if(b>c)
{
printf("%.2f %.2f %.2f\n",c,b,a);
}
else
{
if(a>c)
printf("%.2f %.2f %.2f\n",b,c,a);
else
printf("%.2f %.2f %.2f\n",b,a,c);
}
}
else
{
if(b>c)
{
if(a>c)
printf("%.2f %.2f %.2f\n",c,a,b);
else
printf("%.2f %.2f %.2f\n",a,c,b);
}
else
{
printf("%.2f %.2f %.2f\n",a,b,c);
}
}
return 0;
}