输入3个整数a,b,c,要求按由大到小的顺序将它们输出。用函数实现。

解题思路:

采用例8.3的方法在函数中改变这3个变量的值。用swap函数交换两个变量的值,用exchange函数改变这3个变量的值。

/* Note:Your choice is C IDE */
#include "stdio.h"
void exchange(int*y1,int*y2,int*y3);//函数的声明
void swap(int*z1,int*z2);//函数的声明
void main()
{
    int a,b,c,*p1,*p2,*p3;
    scanf("%d %d %d",&a,&b,&c);
    p1=&a;
    p2=&b;
    p3=&c;
    exchange(p1,p2,p3);//调用结束后不会改变指针的指向
    printf("%d %d %d",*p1,*p2,*p3);
}
void exchange(int*y1,int*y2,int*y3)
{
 if(*y1<*y2)  swap(y1,y2);
 if(*y1<*y3)  swap(y1,y3);
 if(*y2<*y3)  swap(y2,y3);
}
void swap(int*z1,int*z2)
{
 int t;
 t=*z1;//下面代码是进行   交换指针指向的变量值
 *z1=*z2;
 *z2=t;
}
发布了148 篇原创文章 · 获赞 56 · 访问量 3677

猜你喜欢

转载自blog.csdn.net/qq_45696288/article/details/104683690