下面的C语言到底哪里错啦?

来源:百度知道 编辑:UC知道 时间:2024/05/22 08:50:02
main()
{
float a,b,c,t;
scanf("%f%f%f",&a,&b,&c);
if(a>b)
else {t=a;a=b;b=t;};
if(a>c)
else {t=a;a=c;c=t};
if(b>c)
else {t=b;b=c;c=t};
printf("%f%f%f",a,b,c);
} 烦死啦,麻烦帮我改正一下。。是将3个数从大到小排列的。

main()
{
float a,b,c,t;
scanf("%f%f%f",&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;};
if(a>c)
{t=a;a=c;c=t;};
if(b>c)
{t=b;b=c;c=t;};
printf("%f %f %f",a,b,c);
}
你来试一下。

main()
{
float a,b,c,t;
scanf("%f%f%f",&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;};
else
if(a>c)
{t=a;a=c;c=t};
else
if(b>c)
{t=b;b=c;c=t};
printf("%f%f%f",a,b,c);
}

比较应该比较两次的,你仅比较一次,再看下你的赋值

那你为什么不 写成
#include<stdio.h>
main()
{float a,b,c,max,min;
scanf("%f,%f,%",&a,&b,&c);
if(b>a)max=b;min=a;
else max=a;min=b;
if(c>a)max=c;min=a;
else max=a;min=c;
if(b>c)max=b;min=c;
else max=c;min=b;
}

#include<stdio.h>
void main()
{
float a,b,c,t;
scanf_s("%f %f %f",&a,&b,&c);
if(a<b)
{t=