求出兩數最大值的C程式
阿新 • • 發佈:2019-01-28
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); }