从键盘上输入三个整数a,D,c的值,要求用指针变量作为函数参数,通过西数调用实现对三个数找从大到小顺序排序。c语言
时间: 2024-03-20 16:43:33 浏览: 65
好的,下面是代码实现:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
int 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;
}
}
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
sort(&a, &b, &c);
printf("从大到小排序为:%d %d %d\n", a, b, c);
return 0;
}
```
在上面的代码中,我们定义了一个 `sort` 函数,用于对三个数进行排序。函数的参数分别为三个指向整型变量的指针 `a`、`b`、`c`,通过指针对变量进行排序操作。
在 `main` 函数中,我们先从键盘上输入三个整数,然后调用 `sort` 函数进行排序,最后输出排序结果。
相关问题
用c语言从键盘上输入三个整数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从大到小顺序排序。
好的,下面是示例代码:
```c
#include <stdio.h>
void sort(int* a, int* b, int* c) {
if (*a < *b) {
int temp = *a;
*a = *b;
*b = temp;
}
if (*a < *c) {
int temp = *a;
*a = *c;
*c = temp;
}
if (*b < *c) {
int temp = *b;
*b = *c;
*c = temp;
}
}
int main() {
int a, b, c;
printf("请输入三个整数: ");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("按从大到小排序的结果为: %d %d %d\n", a, b, c);
return 0;
}
```
这段代码中,我们定义了一个 `sort` 函数,它接受三个指针作为参数,用来指向需要排序的三个整数。在函数内部,我们使用冒泡排序的思想,将三个数按从大到小进行排序。
在 `main` 函数中,我们先从键盘上输入三个整数,然后调用 `sort` 函数对它们进行排序。最后输出排序后的结果。
用c语言写从键盘上输入三个整数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从大到小顺序排序。
好的,下面是实现代码:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int* a, int* b, int* c) {
if (*a < *b) {
swap(a, b);
}
if (*a < *c) {
swap(a, c);
}
if (*b < *c) {
swap(b, c);
}
}
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
int* pa = &a;
int* pb = &b;
int* pc = &c;
sort(pa, pb, pc);
printf("排序后的结果为:%d %d %d\n", *pa, *pb, *pc);
return 0;
}
```
和 C++ 的实现类似,这里也定义了 `swap` 和 `sort` 两个函数,其中 `swap` 函数用来交换两个整数的值,`sort` 函数则是通过比较大小,调用 `swap` 函数来实现对三个整数的排序。在 `main` 函数中,首先输入三个整数,然后分别将它们的地址赋给指针变量 `pa`、`pb`、`pc`,最后调用 `sort` 函数对它们进行排序,输出结果即为排序后的三个数。
阅读全文