用C语言3. 从键盘上输入三个实数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从小到大(改变a,b,c的值)顺序排序。
时间: 2024-02-09 09:13:05 浏览: 35
好的,下面是这个函数的代码实现:
```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
#include <stdio.h>
void sort(float *p1, float *p2, float *p3) {
float temp;
if (*p1 > *p2) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
if (*p1 > *p3) {
temp = *p1;
*p1 = *p3;
*p3 = temp;
}
if (*p2 > *p3) {
temp = *p2;
*p2 = *p3;
*p3 = temp;
}
}
int main() {
float a, b, c;
printf("请输入三个实数:");
scanf("%f %f %f", &a, &b, &c);
sort(&a, &b, &c);
printf("排序后的结果为:%.2f %.2f %.2f\n", a, b, c);
return 0;
}
```
这段代码中,我们先定义了三个实型变量a、b和c。然后通过scanf函数从键盘上输入它们的值。接下来,我们定义了一个sort函数,它的参数是三个指向float类型的指针变量p1、p2和p3。在sort函数中,我们通过比较指针变量指向的值的大小,交换它们的值,实现了对a、b和c的排序。最后在main函数中,我们调用sort函数,将a、b和c的地址作为参数传递给它。然后输出排序后的结果。需要注意的是,这个过程中a、b、c的值已经被改变。
用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函数,因此需要在函数调用时在变量名前加上&符号。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)