输入三个整数,要求由小到大输出成一行,每个数字后面跟一个空格。
方法1:
三个数从大到小排序,可三目求出最大最小值,然后求和减去最大最小值得中间值然后依次输出。
#include<stdio.h>
#define max(a,b,c) a>=(b>=c?b:c)?a:(b>=c?b:c)
float min(float a, float b, float c)
{
float x;
x = (a <= (b <= c ? b : c) ? a : (b <= c ? b : c));
return (x);
}
int main()
{
float t1, t2,t3, a, b, c, sum;
scanf_s("%f %f %f", &a, &b, &c);
t2 = min(a, b, c);
t1 = max(a, b, c);
sum = a + b + c;
t3 = sum - t2 - t1;
printf("%lf %lf %lf ", t2, t3, t1);//输出的空格在“”里面实现%lf %lf之间空几格输出的数之间就是几格
return 0;
}
方法2:
基本法,全部比,输出
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
if(a<b&&a<c)
{
printf("%d ",a);
if(b<c)
{
printf("%d ",b);
printf("%d",c);
}
else
{
printf("%d ",c);
printf("%d",b);
}
}
if(b<a&&b<c)
{
printf("%d ",b);
if(a<c)
{
printf("%d ",a);
printf("%d",c);
}
else
{
printf("%d ",c);
printf("%d",a);
}
}
if(c<b&&c<a)
{
printf("%d ",c);
if(b<a)
{
printf("%d ",b);
printf("%d",a);
}
else
{
printf("%d ",a);
printf("%d",b);
}
}
return 0;
}