c语言编写函数,对传送过来的三个数按由小到大的顺序排列,并通过形参传回调用函数
三个参数呗,返回也是这三个参数
#include <stdio.h>
void sort(int *a,int *b,int *c)
{
int max = *a,min = *a;
int sum = *a + *b + *c;
if(*b > max)
max = *b;
if(*b < min)
min = *b;
if(*c > max)
max = *c;
if(*c < min)
min = *c;
*a = min;
*c = max;
*b = sum - min - max;
}
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
sort(&a,&b,&c);
printf("由小到大排序:%d %d %d",a,b,c);
}
供参考:
#include <stdio.h>
void sort(int *a,int *b,int *c)
{
int t;
if (*a > *b) t = *a, *a = *b, *b = t;
if (*a > *c) t = *a, *a = *c, *c = t;
if (*b > *c) t = *b, *b = *c, *c = t;
}
int main()
{
int a,b,c;
scanf("%d%d%d", &a, &b, &c);
sort(&a,&b,&c);
printf("%d %d %d", a, b, c);
return 0;
}