比较a,b,c的大小用c语言

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

printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}
哪错了?
要用嵌套法if表示

首先这一句scanf("%f,%f,%f",&a,&b,&C); 最后C应该是小写

其次逻辑上有点问题,代码不怕写,尽量在逻辑上要清楚
#include <stdio.h>
void main()
{
float a, b, c;
scanf_s("%f,%f,%f", &a, &b, &c);
float max,mid,min;
if (a > b && a > c)
{
max = a;
if (b > c)
{
mid = b;
min = c;
}
else
{
mid = c;
min = b;
}
}
if (b > a && b > c)
{
max = b;
if (a > c)
{
mid = a;
min = c;
}
else
{
mid = c;
min = a;
}
}
if (c > a && c > b)
{
max = c;
if (a > b)
{
mid = a;
min = b;
}
else
{
mid = b;
min = c;
}
}
printf("%5.2f,%5.2f,%5.2f\n", max, mid, min);
getchar();
getchar();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-07
1、输入数据要以逗号分隔
2、 scanf("%f,%f,%f",&a,&b,&c); //这里的C大写了!
3、代码太复杂了!有待优化追问

程序里是有逗号和小写的,复制过来除了问题

追答#include <stdio.h>
void main()
{
float a,b,c,t; //临时变量t用于交换数据时的中间变量
scanf("%f,%f,%f",&a,&b,&c); 
if(a<b)  
{
t=a;
a=b;
b=t;
}
//到这里保证a>=b
if ( b<c )
{
t=b;
if ( a<c )
{
b=a;
a=c;
}
else
{
b=c;
}
c=t;
}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}

本回答被网友采纳
第2个回答  2015-10-13
赋值时,原来的值被覆盖掉了。

float a,b,c,t;
if (b > a)
{
t = a;
a = b;
b = t;
}

if (c > a)
{
t = a;
a = c;
c = t;
}

if (c > b)
{
t = c;
c = b;
b = t;
}
第3个回答  2021-01-12

C语言大小字母输出

相似回答