(用c语言使用指针设计一个函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中。例如,输入的数为: 55 12 34,输出结果应当是: a=55.0, b=34.0, c=12.0
时间: 2024-09-17 14:01:45 浏览: 42
在C语言中,你可以使用指针来设计一个名为`fun`的函数,它接收三个整型指针作为参数,并将最大值赋给第一个指针指向的位置,最小值赋给第三个指针指向的位置。以下是函数的实现:
```c
#include <stdio.h>
void fun(int *a, int *b, int *c, int x, int y, int z) {
*a = x; // 初始化最大值指针指向的值
*b = y;
*c = z;
if (*a < y) { // 检查y是否比x大,如果大则交换
int temp = *a;
*a = y;
*b = temp;
}
if (*a < z) { // 检查z是否比x大,如果大且大于y,则再次交换
int temp = *a;
*a = z;
*c = temp;
}
if (*b < z) { // 检查z是否比y大,如果大则交换
int temp = *b;
*b = z;
*c = temp;
}
}
int main() {
int a, b, c;
float a_float, b_float, c_float; // 因为题目中提到a、b和c可能是浮点数,所以类型转换一下
// 输入三个整数
scanf("%d %d %d", &a, &b, &c);
// 转换为float类型并传入fun函数
a_float = (float)a;
b_float = (float)b;
c_float = (float)c;
fun(&a_float, &b_float, &c_float, a, b, c);
a_float = (int)a_float; // 回收内存,因为指针保存的是地址
b_float = (int)b_float;
c_float = (int)c_float;
printf("a=%d.0, b=%d.0, c=%d.0\n", a_float, b_float, c_float);
return 0;
}
```
阅读全文