有关C++中指针问题,高手请进~!~急~~

来源:百度知道 编辑:UC知道 时间:2024/06/23 16:29:09
题目:输入3个整数,分别按由小到大和由大到小的顺序输出(要求用指针的方法处理)
其中老师说分别定义3个变量和3个指针变量,3个指针指向三个变量,然后通过指针变量来接收输入并比较大小,然后通过指针变量输出.
我想向各位高手学习更加简单的解答,现在征集高手的解答.如果最优解本人愿意加追加分.....
是关于C++的指针问题,请各位认真看清楚题目....

#include <iostream>
using namespace std;
void change(int*,int*)
int main()
{ int a,b,c,*p1,*p2,*p3;
cin>>a>>b>>c;
p1=&a;p2=&b;p3=&c;
if(*p1>*p2) change(p1,p2);
if(*p1>*p3) change(p1,p3);
if(*p2>*p3) change(p2,p3);
cout<<"由小到大排列是:"<<*p1<<*p2<<*p3<<endl;
cout<<"又达到小排列是:"<<*p3<<*p2<<*p1<<endl;
return 0;
}

void change(*m,*n)
{ int t;
t=*m;*m=*n;*n=t;
}

小到大:

int main()
{
int a, b, c, *pa=&a, *pb=&b, *pc=&c;
scanf("%d%d%d",pa,pb,pc);
if (*pa>*pb)
{
*pa=*pa+*pb;
*pb=*pa-*pb;
*pa=*pa-*pb;
}
if (*pb>*pc)
{
*pb=*pb+*pc;
*pc=*pb-*pc;
*pb=*pb-*pc;
}
if (*pa>*pb)
{
*pa=*pa+*pb;
*pb=*pa-*pb;
*pa=*pa-*pb;