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