使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码。
函数sort(int &m,int &n,int &l)实现将3个整数m,n,1由大到小输出。m最大,l最小。程序实现时,可以把最大的数放到m上,先将m与n进行比较,如果m<n,则将m与n的值进行交换,然后再用m与l进行比较,如果m<l,则将m与l的值进行交换,这样能使m最大,然后再将n与l进行比较,若n<l,则将n与l的值互换,互换后l最小。
将函数sort(int &m,int &n,int &l)补充完整,实现3个数的排序。
注意:请勿改动主函数。
试题程序:
#include<iostream.h>
vold sort(int &m,int &n,int &l)
int main()
int x=9;
int y=13;
int z==3;
sort(x,u,z);
cout<<x<<’,’<<y<<’,’<<z<<end1;
return 0;
参考答案:int t;
if(m<n)
{t=m;m=n;n=t;) //*交换x,y的值*/
if(m<1)
{t=m;m=l;l=t;)//*交换x,z的值*/
if(n<1)
(t=n;n=l;l=t;}/*交换z,y的值*/
解析: 由审题分析可知,3次比较便可将m、n、l排序。先将m与n进行比较,如果m<n,则将m与n的值进行交换,然后再用m与l进行比较,如果m<l,则将m与l的值进行交换,这样能使m最大。然后再将n与l进行比较,若n<l,则将n与l的值互换,互换后则1最小,这样就得到m最大,1最小的排序结果。在sort函数内用3个if语句比较即可,条件成立则进行交换。