利用指针和swap函数交换数字,从小到大排列!!!
第一步构建符合要求的swap函数:
核心程序
void swap(int *p1,int *p2) //交换函数,实现两个数的交换
{
int p;
p = *p1;
*p1 = *p2;
*p2 = p;
}
完整代码呈上:
#include <stdio.h>
void swap(int *p1,int *p2) //交换函数,实现两个数的交换
{
int p;
p = *p1;
*p1 = *p2;
*p2 = p;
}
void PanDuan(int *p1,int *p2,int *p3) //通过函数判断三个数两两之间的大小
{
if(*p1 > *p2)
{
swap(p1,p2);
}
if(*p1 > *p3)
{
swap(p1,p3);
}
if(*p2 > *p3)
{
swap(p2,p3);
}
}
int main() //主函数
{
int a,b,c,*p1,*p2,*p3;
scanf("%d %d %d",&a,&b,&c);
p1 = &a;
p2 = &b; //&为取地址符
p3 = &c;
PanDuan(p1,p2,p3);
printf("%d %d %d\n",*p1,*p2,*p3);
return 0;
}
自己动手尝试一下, 小伙伴们快去试试吧。