问一个菜鸟问题,大家侃侃这程序还能再精简吗?
#include <stdio.h>main()
{ void swap(int * ,int * );
void exchange(int *,int *,int *);
int *p1,*p2,*p3,a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
printf("\nold:a=%d,b=%d,c=%d\n",a,b,c);
exchange(p1,p2,p3);
printf("new:a=%d,b=%d,c=%d\n",*p1,*p2,*p3);
}
void swap(int *q1,int *q2)
{
int m;
m=*q1;*q1=*q2;*q2=m;
}
void exchange(int *x,int *y,int *z)
{
if(*x<*y) swap(x,y);
if(*x<*z) swap(x,z);
if(*y<*z) swap(y,z);
}
搜索更多相关的解决方案:
精简
----------------解决方案--------------------------------------------------------
~~
就是说能不能不用三个函数,用少一点的函数来做~ ----------------解决方案--------------------------------------------------------
排序 ?
----------------解决方案--------------------------------------------------------
对~!我刚学的,觉得一个小排序用三函数太多了~
----------------解决方案--------------------------------------------------------
可以用快速,冒泡
----------------解决方案--------------------------------------------------------