上机内容:用指针做形参,排列三个数
我的程序:
/*
* 程序的版权和版本声明部分:
* 作 者:段元晋
* 完成日期:
* 版 本 号:vc++6.0
* 对任务及求解方法的描述部分:
* 输入描述:三个整数
* 问题描述:略
* 程序输出:排好的三个数
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
using namespace std;
int main()
{
void exchange(int *,int *,int *);
int a,b,c,*p1,*p2,*p3;
cout<<"请输入3个整数:"<<endl;
cin>>a>>b>>c;
p1=&a;p2=&b;p3=&c;
exchange(p1,p2,p3);
cout<<"由大到小:"<<endl;
cout<<a<<" "<<b<<" "<<c<<endl;
return 0;
}
void exchange(int*q1,int*q2,int*q3)
{
void swap(int*,int*);
if(*q1<*q2)swap(q1,q2);
if(*q1<*q3)swap(q1,q3);
if(*q2<*q3)swap(q2,q3);
}
void swap(int*pt1,int*pt2)
{
int temp;
temp=*pt1;
*pt1=*pt2;
*pt2=temp;
}
运行结果: