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

admin2019-05-29  29

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数sort(int&m,int &n,int&1)实现将三个整数in、n、1由大到小输出。in最大,1最小。
    程序分析:程序实现时,可以把最大的数放到m上,先将m与n进行比较,如果m<n则将m与n的值进行交换,然后再用m与1进行比较,如果m<1则将in与1的值进行交换,这样能使m最大。然后再将n与1进行比较,若n<1则将n与1的值互换,互换后则1最小。
    将函数sort(int &m,int &n,int &1)补充完整,实现三个数的排序。
    注意:请勿改动主函数。
1  #include<iostream.h>
2  void sort(int&m,int& n,int&1)
3  {
4
5  }
6  int main()
7  {
8    int x=9;
9    int y=13;
10    int x=-3;
11    sort(x,y,Z);
12    cout<<x<<’,’<<y<<’,’<<z<<end1;
13    return 0;
14  }

选项

答案1 int t; 2 if(m<n) 3 {t=m;m=n;n=t;)/*交换x,y的值*/ 4 if(m<1) 5 {t=m;m=l;l=t;)/*交换v,z的值*/ 6 if(n<1) 7 {t=n;n=1;1=t;}/*交换z,y的值*/

解析 sort函数实现3个参数的从大到小的排序,可以采用很多方法来排序,比如选择法排序、冒泡法排序等,这里要求采用比较的方法来实现排序,由于需要排序的数据较少,只有3个,逐个比较就可以找到最大最值小进行排序。
    (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://jikaoti.com/ti/CXA0FFFM
0

相关试题推荐
最新回复(0)