//问题:输入a,b,c三位同学的成绩,由高到低输出成绩
#include <stdio.h>
int main()
{
float a, b, c, t;
printf("Please enter a,b,c:");
scanf("%f,%f,%f", &a, &b, &c);
//实现a和b位置互换
if (a < b)
{
t = a;
a = b;
b = t;
}
//实现a和c位置互换
if (a < c)
{
t = a;
a = c;
c = t;
}
//实现b和c位置互换
if (b < c)
{
t = b;
b = c;
c = t;
}
printf("%6.2f,%6.2f,%6.2f", a, b, c);
return 0;
}
代码运行结果:
程序分析:先定义了4个变量,其中t是为了if语句中两者交换位置的空存储,其中if语句中包含了算法,if a<b 将a和b对换,也就是说a是a和b中的大者。依次类推,a<c,a是a和c中的大者;b<c,b是b和c中的大者。最后输出a,b,c的值。最后提示下在输入数值的过程中要按格式输入否则会报错。