1. /*-------------------------------------------------------
    2. 【程序改错】
    3. ---------------------------------------------------------
    4. 题目:下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放
    5. 在a中,中间的数放在b中,最小的数放在c中。
    6. 例如:若输入的数为:55 12 34,输出的结果应当是:a=55.0,b=34.0,c=12.0。
    7. -------------------------------------------------------*/
    8. #include <stdio.h>
    9. void fun(float *a,float *b,float *c)
    10. {
    11. /***********FOUND***********/
    12. float k;
    13. if( *a<*b )
    14. {
    15. k=*a;
    16. *a=*b;
    17. *b=k;
    18. }
    19. /***********FOUND***********/
    20. if( *a<*c )
    21. {
    22. k=*c;
    23. *c=*a;
    24. *a=k;
    25. }
    26. if( *b<*c )
    27. {
    28. k=*b;
    29. *b=*c;
    30. *c=k;
    31. }
    32. }
    33. main()
    34. {
    35. float a,b,c;
    36. printf("Input a b c: ");
    37. scanf("%f%f%f",&a,&b,&c);
    38. printf("a = %4.1f, b = %4.1f, c = %4.1f\n\n",a,b,c);
    39. fun(&a,&b,&c);
    40. printf("a = %4.1f, b = %4.1f, c = %4.1f\n\n",a,b,c);
    41. }