Description
输入三个整数,按由小到大的顺序输出。分别使用指针和引用方式实现两个排序函数。在主函数中输入和输出数据。
Input
三个整数
Output
由小到大输出成一行,每个数字后面跟一个空格。由指针方式实现。
由小到大输出成一行,每个数字后面跟一个空格。由引用方式实现。
Sample Input
2 3 1
Sample Output
1 2 3
1 2 3
HINT
主函数已给定如下,提交时不需要包含下述主函数
/* C++代码 */
int main()
{
void sort1(int *,int *,int *);
void sort2(int &,int &,int &);
int n1,n2,n3;
int *p1,*p2,*p3;
int r1,r2,r3;
cin>>n1>>n2>>n3;
r1=n1;
r2=n2;
r3=n3;
p1=&n1;
p2=&n2;
p3=&n3;
sort1(p1,p2,p3);
cout<<n1<<" "<<n2<<" "<<n3<<endl;
sort2(r1,r2,r3);
cout<<r1<<" "<<r2<<" "<<r3<<endl;
return 0;
}
#include <iostream>
using namespace std;
void change(int x,int y);
void change2(int *x,int *y);
int main()
{void sort1(int *,int *,int *);
void sort2(int &,int &,int &);
int n1,n2,n3;
int *p1,*p2,*p3;
int r1,r2,r3;
cin>>n1>>n2>>n3;
r1=n1;
r2=n2;
r3=n3;
p1=&n1;
p2=&n2;
p3=&n3;
sort1(p1,p2,p3);
cout<<n1<<" "<<n2<<" "<<n3<<endl;
sort2(r1,r2,r3);
cout<<r1<<" "<<r2<<" "<<r3<<endl;
return 0;
}
void change1(int &x,int &y)
{
int t;
t=x;
x=y;
y=t;
}
void change2(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
void sort1(int *a,int *b,int *c)
{
if(*a>*b)change2(a,b);
if(*a>*c)change2(a,c);
if(*b>*c)change2(b,c);
}
void sort2(int &k,int &i,int &j)
{
if(k>i)change1(k,i);
if(k>j)change1(k,j);
if(i>j)change1(i,j);
}