用c语言编写并测试一个函数,该函数以3个double变量的地址作为参数,把最小值放入第一个变量,中间值放入第二个变量,最大值放入第三个变量
时间: 2024-10-02 12:03:43 浏览: 40
在 C 语言中,你可以定义一个函数 `findMinMax` 来完成这个任务。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义函数 findMinMax,接受三个 double 类型指针作为参数
void findMinMax(double *a, double *b, double *c) {
if (*a > *b) {
if (*b > *c || *a <= *c) { // 检查 a 是否最大,如果不是,交换 a 和 c 的值
double temp = *a;
*a = *c;
*c = temp;
}
if (*a > *b) { // 如果 a 还是最小,将 b 的值赋给 a
double temp = *a;
*a = *b;
*b = temp;
}
} else if (*b > *c) { // 同理检查 b 是否最大
double temp = *b;
*b = *c;
*c = temp;
}
// 此时 a 存储最小值,b 存储中间值,c 存储最大值
}
int main() {
double num1, num2, num3;
printf("请输入三个数:");
scanf("%lf %lf %lf", &num1, &num2, &num3);
// 将输入的数值传递给 findMinMax 函数
double min_val, mid_val, max_val;
findMinMax(&num1, &num2, &num3);
printf("最小值: %.2f, 中间值: %.2f, 最大值: %.2f\n", num1, num2, num3);
return 0;
}
```
当你运行这个程序时,它会接收用户输入的三个双精度浮点数,并根据 `findMinMax` 函数的逻辑找到并存储最小值、中间值和最大值。
阅读全文