[c]用指针进行四个数排序

[c]用指针进行四个数排序_第1张图片

#include
void swap(int*p1,int*p2)//定义函数,实现两个数值交换
{
	int temp;
    temp=*p1;
	*p1=*p2;
	*p2=temp;
}
void psort( int *pa, int *pb,int *pc,int *pd)
{
	int i=1;
	for(i=1;i<=3;i++)//对四个数排序,至少3次循环,交换过后是升序排列
	{
		if(*pa>*pb)
		{
			swap(pa,pb);
		}
	    if(*pb>*pc)
	    {
	    	swap(pb,pc);
		}
		if(*pc>*pd)
		{
			swap(pc,pd);
		}
	}
}
int main()
{
	int a,b,c,d;
	scanf("%d %d %d %d",&a,&b,&c,&d);
	psort(&a,&b,&c,&d);
	printf("%d %d %d %d",d,c,b,a);
	return 0;
}

[c]用指针进行四个数排序_第2张图片

[c]用指针进行四个数排序_第3张图片

对于交换两个数的值,我们可以定义swap函数,用指针进行处理

[c]用指针进行四个数排序_第4张图片

你可能感兴趣的:(c语言,算法,数据结构)