例5.2输入3个数a,b,c,要求按由小到大的顺序输出。
解此题的算法比上一题稍复杂一些。可以用伪代码写出算法:
if a > b 将a和b对换 (a是a,b中的小者)
if a > c 将a和c对换 (a是a,c中的小者,因此a是三者中最小者)
if b > c 将b和c对换 (b是b,c中的小者,也是三者中次小者)
然后顺序输出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;} /* 实现a和b的互换 */
if(a>c)
{t=a;a=c;c=t;} /* 实现a和c的互换 */
if(b>c)
{t=b;b=c;c=t;} /* 实现b和c的互换 */
printf("%5.2f,%5.2f,%5.2f",a,b,c);

运行情况如下:
3,7,1
1.00,3.00,7.00