C语言:本关任务:采用指针变量作为形参,编写一个实现两个整数交换的函数。在主函数中输入三个整数,调用数据交换函数将他们按从大到小的顺序排序后输出。已给出:#include <stdio.h> void main() { int a,b,c; void swap(int *px,int *py); scanf("%d%d%d",&a,&b,&c); if(a<b) swap(&a,&b); if(a<c) swap(&a,&c); if(b<c) swap(&b,&c); printf("%d %d %d\n",a,b,c); } void swap(int *px,int *py) //定义实现数据交换的函数 { //************Begin*********** //************End*********** }
时间: 2023-07-23 16:43:00 浏览: 118
下面是实现两个整数交换的函数的代码:
```c
#include <stdio.h>
void swap(int *px, int *py); // 函数声明
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a < b)
swap(&a, &b);
if (a < c)
swap(&a, &c);
if (b < c)
swap(&b, &c);
printf("%d %d %d\n", a, b, c);
return 0;
}
void swap(int *px, int *py)
{
int temp;
temp = *px;
*px = *py;
*py = temp;
}
```
在这个程序中,我们定义了一个 swap 函数,该函数接受两个指向整数的指针作为参数。在函数内部,我们首先用一个临时变量 temp 存储指针 px 指向的整数的值,然后将指针 px 指向的整数的值改为指针 py 指向的整数的值,最后将指针 py 指向的整数的值改为 temp。这样就完成了两个整数的交换。
在主函数中,我们使用 scanf 函数从用户输入中读取三个整数,并将它们存储在变量 a、b 和 c 中。然后我们使用 if 语句将这三个整数按从大到小的顺序排序。在排序过程中,我们调用 swap 函数来交换两个整数的值。最后,我们使用 printf 函数按照指定的格式输出排序后的三个整数。
阅读全文