//问题:输入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的值。最后提示下在输入数值的过程中要按格式输入否则会报错。

更多推荐