问答题
使用VC++6.0打开
下的源程序文件2.cpp。阅读下列函数说明和代码。
函数sort(int &m,int &n,int &l)实现将3个整数m,n,l由大到小输出。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>
void sort(int& m,int& n,int& l)
{
}
int main()
{
int x=9;
int y=13;
int z=-3;
sort(x,y,z);
cout<<x<<","<<y<<","<<z<<endl;
return 0;
}
【正确答案】
【答案解析】int t;
if(m<n)
{t=m;m=n;n=t;} //*交换x,y的值*/
if(m<l)
{t=m;m=l;l=t;} //*交换x,z的值*/
if(n<l)
{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的值互换,互换后则l最小,这样就得到m最大,l最小的排序结果。在sort函数内用3个if语句比较即可,条件成立则进行交换。