从键盘上输入三个实数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从小到大(改变a,b,c的值)顺序排序。
时间: 2024-02-09 17:11:57 浏览: 70
好的,这里是一个示例代码,供你参考:
```c
#include <stdio.h>
void sort(double *a, double *b, double *c);
int main() {
double a, b, c;
printf("请输入三个实数:");
scanf("%lf %lf %lf", &a, &b, &c);
sort(&a, &b, &c);
printf("按从小到大排序后的值为:%lf %lf %lf\n", a, b, c);
return 0;
}
void sort(double *a, double *b, double *c) {
double temp;
if (*a > *b) {
temp = *a;
*a = *b;
*b = temp;
}
if (*a > *c) {
temp = *a;
*a = *c;
*c = temp;
}
if (*b > *c) {
temp = *b;
*b = *c;
*c = temp;
}
}
```
该程序从键盘上输入三个实数a,b,c的值,并通过函数sort对它们进行排序,使得a <= b <= c。sort函数采用了传递指针的方式,可以直接修改a、b、c的值,使其按从小到大排序。在sort函数中,采用了冒泡排序的思想,先将a和b进行比较,如果a大于b,则交换a和b的值;再将a和c进行比较,如果a大于c,则交换a和c的值;最后再将b和c进行比较,如果b大于c,则交换b和c的值。这样就可以将a、b、c按从小到大的顺序排序了。
阅读全文