1.不使用判断语句
#include <stdio.h>
#include <math.h>
double Max(double a, double b)
{
double q = sqrt((a-b)*(a-b));
return ((a + b) + q) / 2;
}
int main()
{
double i, j;
printf("Input : ");
scanf("%lf%lf", &i, &j);
printf("Max = %.0lf",Max(i, j));
}
2.利用宏替换
#include <stdio.h>
#include <math.h>
#define Max(X,Y) ((X > Y) ? (X) : (Y))
int main()
{
double i, j;
printf("Input : ");
scanf("%lf%lf", &i, &j);
printf("Max = %.0lf",Max(i, j));
}
3.使用指针变量交换地址值
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, *p, *q, *t;
printf("Input : ");
scanf("%d%d", &i, &j);
p = &i;
q = &j;
if(i < j)
{
t = p;
p = q;
q = t;
}
printf("Max = %d, Min = %d", *p , *q);
}