从键盘上输入三个实数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从小到大(改变a,b,c的值)顺序排序。
时间: 2023-08-15 21:06:15 浏览: 51
好的,下面是这个函数的代码实现:
```c
#include <stdio.h>
void sort(float *a, float *b, float *c) {
float tmp;
if(*a > *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
if(*a > *c) {
tmp = *a;
*a = *c;
*c = tmp;
}
if(*b > *c) {
tmp = *b;
*b = *c;
*c = tmp;
}
}
int main() {
float a, b, c;
printf("请输入三个实数:");
scanf("%f %f %f", &a, &b, &c);
sort(&a, &b, &c);
printf("从小到大排序后的结果为:%f %f %f\n", a, b, c);
return 0;
}
```
这个函数的实现比较简单,首先用指针变量作为函数的参数,接收三个实数的地址。然后,通过比较大小,将三个实数按照从小到大的顺序排序。最后在主函数中调用这个函数,并输出排序后的结果。希望能够帮到你!
相关问题
用c语言从键盘上输入三个实数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从小到大(改变a,b,c的值)顺序排序。
好的,下面是用C语言从键盘上输入三个实数a,b,c的值,通过函数调用实现对三个数按从小到大顺序排序并改变a,b,c的值的代码:
```c
#include <stdio.h>
void sort(float *pa, float *pb, float *pc) {
float temp;
if (*pa > *pb) {
temp = *pa;
*pa = *pb;
*pb = temp;
}
if (*pa > *pc) {
temp = *pa;
*pa = *pc;
*pc = temp;
}
if (*pb > *pc) {
temp = *pb;
*pb = *pc;
*pc = temp;
}
}
int main() {
float a, b, c;
printf("请输入三个实数:\n");
scanf("%f %f %f", &a, &b, &c);
printf("排序前:\n%.2f %.2f %.2f\n", a, b, c);
sort(&a, &b, &c);
printf("排序后:\n%.2f %.2f %.2f\n", a, b, c);
return 0;
}
```
首先,我们定义了三个实型变量a、b和c。
然后,通过scanf函数从键盘输入三个实数,并将它们分别赋值给a、b和c。
接着,我们定义了一个sort函数,该函数的参数为三个指向浮点数的指针变量pa、pb和pc。在函数内部,我们利用了if语句和swap操作来实现对三个数的排序。最后,通过指针的引用,将排序后的结果写回到a、b和c中。
在主函数中,我们先通过printf函数输出排序前的a、b和c的值,然后调用sort函数对a、b和c进行排序,并再次通过printf函数输出排序后的a、b和c的值。
注意:在函数调用时,我们需要将a、b、c的地址通过指针传递给sort函数,因此需要在函数调用时在变量名前加上&符号。
从键盘上输入三个实数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从小到大(改变a,b,c的值)顺序排序。
好的,这里是一个示例代码,供你参考:
```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按从小到大的顺序排序了。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)