c语言小问题请帮帮忙

程序设计题一:输入三个数据,按从大到小的顺序输出这三个数据。
请输入三个浮点型数据,每输入一个数据换行确认:
123.45
56.2
785.6
从大到小为:785.599976 123.449992 56.200001

#include<stdio.h>
int main(void){
float a,b,c,t;
printf("请输入三个浮点型数据,每输入一个数据换行确认:\n");
scanf("%f%f%f",&a,&b,&c);
if(a<b)
{t=a;a=b;b=t;}
if(b<c)
{t=b;b=c;c=t;}
if(a<b)
{t=a;a=b,b=t;}
printf("从大到小为:%f %f %f",a,b,c);
return 0;
}

img

#include <stdio.h>
int main()
{
    float a,b,c,d;
    scanf("%f%f%f",&a,&b,&c);
    if(a>b)
    {
        d = a;
        a = b;
        b = d;
    }
    if(b>c)
    {
        d = b;
        b = c;
        c = d;
    }
    if(c>a)
    {
        d = a;
        a = c;
        c = d;
    } 
    printf("%f %f %f",a,b,c);
    return 0;
}
 
    
}


#include "stdio.h"
void main()
{
    float a,b,c;
    float temp = 0;
    scanf("%f %f %f",&a,&b,&c);
    if(a>b){
        temp = b;
        b = a;
        a = temp;    
    }
    if(a>c){
        temp = c;
        c = a;
        a = temp;    
    }
    if(b>c){
        temp = c;
        c = b;
        b = temp;    
    }
    printf("%f %f %f",a,b,c);
}

#include<stdio.h>
 
int main()
{
    float fighting[3]={0};
    scanf("%f",&fighting[0]);
    scanf("%f",&fighting[1]);
    scanf("%f",&fighting[2]);
    
    int max = fighting[fighting[0]>fighting[1]?0:1]>fighting[2]?(fighting[0]>fighting[1]?0:1):2;
    
    int min = fighting[fighting[0]<fighting[1]?0:1]<fighting[2]?(fighting[0]<fighting[1]?0:1):2;
    
    int mid = 3-max-min;
    
    printf("max=%f,mid=%f,min=%f\n",fighting[max],fighting[mid],fighting[min]);
    
    return 0;
}

有用麻烦您采纳一下