//8--5将输入的三个整数按大小顺序输出,用函数实现
#include<iostream.h>
#include<conio.h>
int main()
{
void exchange(int*q1,int *q2,int *q3);
int a,b,c,*p1,*p2,*p3;
cin>>a>>b>>c;
p1=&a;
p2=&b;
p3=&c;
exchange(p1,p2,p3);
cout<<"The order is:"<<a<<" "<<b<<" "<<c<<" "<<endl;
getch();
return 0;
}
void exchange(int*q1,int *q2,int *q3)
{
void swap(int *p1,int *p2);
if(*q1<*q2) /*实际上是先找到三个数中最大的 数赋给a,然后
比较后两个数的大小,较大的赋给b. */
swap(q1,q2);
if(*q1<*q3)
swap(q1,q3);
if(*q2<*q3)
swap(q2,q3);
}
void swap(int*p1,int *p2) //交换的是a,b 的值!!!
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
其实函数的声明可以放在主函数前面,我更喜欢放在前面,这样显的整齐
#include<iostream.h>
#include<conio.h>
void swap(int *p1,int *p2);
void exchange(int*q1,int *q2,int *q3);
int main()
{
int a,b,c,*p1,*p2,*p3;
cin>>a>>b>>c;
p1=&a;
p2=&b;
p3=&c;
exchange(p1,p2,p3);
cout<<"The order is:"<<a<<" "<<b<<" "<<c<<" "<<endl;
getch();
return 0;
}
//交换3个数的函数
void exchange(int*q1,int *q2,int *q3)
{
if(*q1<*q2) /*实际上是先找到三个数中最大的 数赋给a,然后
比较后两个数的大小,较大的赋给b. */
swap(q1,q2);
if(*q1<*q3)
swap(q1,q3);
if(*q2<*q3)
swap(q2,q3);
}
//交换两个数的函数
void swap(int*p1,int *p2) //交换的是a,b 的值!!!
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}