设计一个程序,输入三个整数,将其按照从大到小的顺序输出,要求:
(1)排序功能通过函数实现,三个整数用三个变量,不必定义数组;
(2)写出两个版本的函数,一个采用传地址值的方法,另一个采用引用类型做形参。
/*
*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:曾晓
*完成日期:2014年 12月 17日
*版本号:v1.0
*/
#include <iostream>
using namespace std;
void sort1(int &x,int &y,int &z);
void sort2(int *x,int *y,int *z);
int main()
{
int a,b,c;
int d,e,f;
cout<<"请输入三个整数:";
cin>>a>>b>>c;
sort1(a,b,c);
cout<<"用引用法按从大到小的顺序输出为:"<<a<<" "<<b<<" "<<c<<endl;
cout<<"请输入三个整数:";
cin>>d>>e>>f;
sort2(&d,&e,&f);
cout<<"用指针法按从大到小的顺序输出为:"<<d<<" "<<e<<" "<<f<<endl;
return 0;
}
void sort1(int &x,int &y,int &z)
{
int t;
if (x<y)
{
t=y;
y=x;
x=t;
}
if(x<z)
{
t=z;
z=x;
x=t;
}
if (y<z)
{
t=z;
z=y;
y=t;
}
}
void sort2(int *x,int *y,int *z)
{
int t;
if (*x<*y)
{
t=*y;
*y=*x;
*x=t;
}
if(*x<*z)
{
t=*z;
*z=*x;
*x=t;
}
if (*y<*z)
{
t=*z;
*z=*y;
*y=t;
}
}
运行结果: