编写一个函数,用指针的方法将三个整数按小到大的顺序输出,在主函数中调用这个函数
时间: 2024-02-24 19:57:59 浏览: 78
好的,以下是实现的代码:
```c
#include <stdio.h>
void sort(int* a, int* b, int* c) {
int 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() {
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` 函数中,我们使用三个指针 `a`、`b`、`c` 分别指向三个整数,通过比较大小,将它们按小到大的顺序交换。在主函数中,我们输入三个整数,然后调用 `sort` 函数,将它们按小到大的顺序输出。
相关问题
编写函数,使用指针传递实现两个整数的交换。编写函数,使用指针传递和两个数的交换函数实现三个整数从大到小排序。编写主函数,输入三个整数,调用函数排序,输出三个从大到小排序的整数。
这是一个关于 C++ 编程的问题,我可以回答。在编写函数时,可以使用指针参数来交换两个整数的值,具体的代码如下:
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;
cin >> a >> b >> c;
sort(&a, &b, &c);
cout << c << " " << b << " " << a << endl;
return 0;
}
希望这个回答能够帮到你,如果你有更多的问题,可以随时问我。
采用指针变量作为形参,编写一个实现两个整数交换的函数。在主函数中输入三个整数,调用数据交换函数将他们按从大到小的顺序排序后输出
下面是一个使用指针变量作为形参的C语言程序,实现交换两个整数的功能:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1, num2, num3;
printf("请输入三个整数:");
scanf("%d%d%d", &num1, &num2, &num3);
// 排序
if (num1 < num2) {
swap(&num1, &num2);
}
if (num1 < num3) {
swap(&num1, &num3);
}
if (num2 < num3) {
swap(&num2, &num3);
}
// 输出
printf("按从大到小排序后的结果为:%d %d %d", num1, num2, num3);
return 0;
}
```
这里的`swap`函数采用指针变量作为形参,通过指针访问实参,实现两个整数的交换。在`main`函数中,输入三个整数后,分别调用`swap`函数,将它们按从大到小的顺序排序后输出。
阅读全文