1. 程式人生 > >求出兩數最大值的C程式

求出兩數最大值的C程式

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);
}