题目描述
从键盘输入3个实数a, b, c,通过比较交换,将最小值存储在变量a中,最大值存储在变量c中,中间值存储在变量b中,并按照从小到大的顺序输出这三个数a, b, c。
末尾输出换行。
输入
输入以空格分隔的三个实数
输出
按照从小到大的顺序输出这三个实数,中间以空格分隔,最小值在前,最大值在后。小数点后保留2位小数。
注意末尾的换行。
样例输入 Copy
3 7 1
样例输出 Copy
1.00 3.00 7.00
思路
利用冒泡排序法实现效果
代码
#include<stdio.h>
int main()
{
float a,b,c,d;
scanf("%f%f%f",&a,&b,&c);
float r[3]={
a,b,c};
int i,m;
for(i=0;i<2;i++)
{
for(m=i+1;m<3;m++)
{
if(r[i]>r[m])
{
d=r[i];
r[i]=r[m];
r[m]=d;
}
}
}
a=r[0];
b=r[1];
c=r[2];
printf("%.2f %.2f %.2f\n",a,b,c);
return 0;
}
总结
萌新一只,有问题欢迎大家指正