/*编写并测试一个函数,该函数以3个double变量的地址作为参数,
把最小值放入第1个变量,中间值放入第2个变量,最大值放入第3个变量。
*/
#include<stdio.h>
void test(double *pa, double *pb, double *pc);
int main(void)
{
double a, b, c;
printf("请输入3个数字:");
scanf("%lf %lf %lf", &a, &b, &c);
test(&a, &b, &c);
printf("a=%lf b=%lf c=%lf", a, b, c);
return 0;
}
void test(double* pa, double* pb, double* pc)
{
double min = *pa;
double max = *pc;
double mid;
if (min > *pb)
{
min = *pb;
}
if (min > * pc)
{
min = *pc;
}
if (max < *pa)
{
max = *pa;
}
if (max < *pb)
{
max = *pb;
}
mid = *pa + *pb + *pc - max - min;
*pa = min;
*pb = mid;
*pc = max;
}
C PRIMER PLUS(第六版编程练习)9.11编程练习_6题
最新推荐文章于 2025-07-28 20:42:12 发布
本文介绍了一个C语言函数,该函数接收三个double类型的变量地址,通过比较将这三个数按从小到大的顺序重新排列,并将结果存回原来的变量中。示例代码展示了如何实现这一功能,并在主函数中进行输入和输出,验证了排序函数的正确性。
424

被折叠的 条评论
为什么被折叠?



