使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数sort(int &m,int &n,int &1)实现将三个整数m、n、1由大到小输出。m最大,1最小。 程序分析:程序实现时,可以把最大的数放到m上,先将m与n进行比

admin2016-10-28  21

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数sort(int &m,int &n,int &1)实现将三个整数m、n、1由大到小输出。m最大,1最小。
程序分析:程序实现时,可以把最大的数放到m上,先将m与n进行比较,如果m<n则将m与n的值进行交换,然后再用m与1进行比较,如果m<1则将m与1的值进行交换,这样能使m最大。然后再将n与1进行比较,若n<1则将n与1的值互换,互换后则1最小。
将函数sort(int&m,int&n,int&1)补充完整,实现三个数的排序。
注意:请勿改动主函数。
#include<iostream.h>
void sort(int&m,int&n,int&1)
{

}
int main()
{
int x=9;
int y=13;
int z=-3;
sort(x,y,z),
cout<<x<<’,’<<y<<’,’<<z<<endl;
return0;
}

选项

答案int t; if(m<n) {t=m;m=n;n=t;}/*交换x,y的值*/ if(m<1) {t=m;m=1;1=t;}/*交换x,z的值*/ if(n<1) (t=n;n=1;1=t;}/*交换z,y的值*/

解析 (1)由审题分析可知,三次比较便可将m、n、1排序。
(2)在实现时,先将m与n进行比较,如果m<n则将m与n的值进行交换,然后再用m与1进行比较,如果m<1则将m与1的值进行交换,这样能使m最大。然后再将n与1进行比较,若n<1则将n与1的值互换,互换后则1最小,这样就得到m最大,1最小的排序结果。
(3)在sort函数内用三个if比较即可,条件成立则进行交换。
转载请注明原文地址:https://kaotiyun.com/show/k7Np777K
0

最新回复(0)